一、Sqoop概述
1)官网
http://sqoop.apache.org/
2)场景
传统型缺点,分布式存储。把传统型数据库数据迁移。
Apache Sqoop(TM)是一种用于在Apache Hadoop和结构化数据存储(如关系数据库)之间高效传输批量数据的工具。 二、Sqoop安装部署
1)下载安装包
2)解压
tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
3)修改配置
mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop
cd sqoop/conf
mv sqoop-env-template.sh sqoop-env.sh vi sqoop-env.sh
export HADOOP_COMMON_HOME=/root/hd/hadoop-2.8.4
export HADOOP_MAPRED_HOME=/root/hd/hadoop-2.8.4
export HIVE_HOME=/root/hd/hive
export ZOOCFGDIR=/root/hd/zookeeper-3.4.10/conf
4)发送mysql驱动到sqoop/lib下
5)检测是否安装成功
bin/sqoop help 三、Sqoop的import命令 执行mysql -uroot -proot进入mysql命令行
准备数据:
create database sq;
use sq;
create table user(id int primary key auto_increment,name varchar(20),addr varcher(200));
insert into user(id,name,addr) values(1,"zhangsan","beijing");
insert into user(id,name,addr) values(2,"lisi","shanghai");
select * from user; create table user1(id int primary key auto_increment,name varchar(20));
insert into user1(id,name) values(1,"haha");
insert into user1(id,name) values(2,"hongqigong");
select * from user1; 1)数据从mysql中导入到hdfs当中
bin/sqoop import --connect jdbc:mysql://hd09-1:3306/sq --username root --password root --table user --target-dir /sqoop/datas
--delete-target-dir --num-mappers 1 --fields-terminated-by "\t"
2)数据mysql中导入到hdfs当中进行筛选
bin/sqoop import --connect jdbc:mysql://hd09-1:3306/sq --username root --password root --target-dir /sqoop/selectdemo --delete-target-dir
--num-mappers 1 --fields-terminated-by "\t" --query 'select * from user where id<=1 and $CONDITIONS'
3)通过where筛选
bin/sqoop import --connect jdbc:mysql://hd09-1:3306/sq --username root --password root --target-dir /sqoop/selectdemo2 --delete-target-dir
--num-mappers 1 --fields-terminated-by "\t" --table user --where "id<=1"
4)mysql导入到hive
需要先创建hive表:
create table user_sqoop(id int,name string) row format delimited fields terminated by '\t'; bin/sqoop import --connect jdbc:mysql://hd09-1:3306/sq --username root --password root --table user1 --num-mappers 1
--hive-import --fields-terminated-by "\t" --hive-overwrite --hive-table user_sqoop 四、问题:hiveconf
解决:
vi ~/.bash_profile
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/root/hd/hive/lib/*

   mysql权限问题:
grant all privileges on *.* to root@'%' identified by "root";
flush privileges; 五、Sqoop的export命令
需求:Hive/hdfs的数据导出到mysql
1)根据hive中的字段创建mysql表
create table user1(id int primary key auto_increment,name varchar(20));
2)编写sqoop启动命令
bin/sqoop export --connect jdbc:mysql://hd09-1:3306/sq --username root --password root --table user1 --num-mappers 1
--export-dir /user/hive/warehouse/user_sqoop --input-fields-terminated-by "\t"
3)mysql中查看数据是否导入
select * from user1; 六、Sqoop打包脚本的使用
1)创建文件夹
mkdir sqoopjob
2)创建文件脚本
vi job_hdfs2mysql.opt
export
--connect
jdbc:mysql://hd09-1:3306/sq
--username
root
--password
root
--table
user1
--num-mappers
1
--export-dir
/user/hive/warehouse/user_sqoop
--input-fields-terminated-by
"\t"
注意:一行命令 一行值
3)执行脚本文件
bin/sqoop --options-file /root/sqoopjob/job_hdfs2mysql.opt 七、sqoop常用命令
命令           说明
import 将数据导入到集群
export 将集群数据导出
codegen 将某数据库中表生成javaBean并打包为jar
eval 查看sql执行结果
create­hive­table     创建hive表
import­all­tables     导入某个数据库中所有表到hdfs中
list­tables 列出某个数据库下的所有表
merge 将hdfs中不同目录下的数据合并在一起
version V 查看sqoop版本
help 查看帮助信息 八、sqoop常用参数
参数            说明
–connect 连接关系型数据库URL
–connection­manager 指定连接管理类
–driver JDBC的driver class
–username 连接数据库的用户名
–password 连接数据库的密码
–verbose 在控制台中打印详细信息
–help 查看帮助
–hive­import 将关系型数据库导入到hive表中
–hive­overwrite 覆盖掉hive表中已存在的数据
–create­hive­table 创建hive表
–hive­table 接入hive表
–table 指定关系型数据库的表名

Sqoop简介及使用的更多相关文章

  1. Sqoop 简介与安装

    一.Sqoop 简介 Sqoop是一个常用的数据迁移工具,主要用于在不同存储系统之间实现数据的导入与导出: 导入数据:从MySQL,Oracle等关系型数据库中导入数据到HDFS.Hive.HBase ...

  2. sqoop简介和原理分析

    Sqoop简介 Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL , ...

  3. 入门大数据---Sqoop简介与安装

    一.Sqoop 简介 Sqoop 是一个常用的数据迁移工具,主要用于在不同存储系统之间实现数据的导入与导出: 导入数据:从 MySQL,Oracle 等关系型数据库中导入数据到 HDFS.Hive.H ...

  4. Sqoop简介及安装

    Hadoop业务的大致开发流程以及Sqoop在业务中的地位: Sqoop概念 Sqoop可以理解为[SQL–to–Hadoop],正如名字所示,Sqoop是一个用来将关系型数据库和Hadoop中的数据 ...

  5. Sqoop简介

    一  Sqoop是什么 Sqoop:SQL-to-Hadoop 连接传统关系型数据库和Hadoop的桥梁 把关系型数据库的数据导入到 Hadoop 系统 ( 如 HDFS.HBase 和 Hive) ...

  6. 【Sqoop学习之一】Sqoop简介

    环境 sqoop-1.4.6 Sqoop:将关系数据库(oracle.mysql.postgresql等)数据与hadoop数据进行转换的工具. 两个版本:两个版本完全不兼容,sqoop1使用最多:s ...

  7. Sqoop -- 用于Hadoop与关系数据库间数据导入导出工作的工具

    Sqoop是一款开源的工具,主要用于在Hadoop相关存储(HDFS.Hive.HBase)与传统关系数据库(MySql.Oracle等)间进行数据传递工作.Sqoop最早是作为Hadoop的一个第三 ...

  8. sqoop安装与使用

    sqoop简介 sqoop名字是怎么来的?Sqoop: SQL-to-Hadoop 连接传统数据库和hadoop的桥梁,把关系型数据库的数据导入到hadoop系统(如HDFS,HBASE和hive中) ...

  9. 【大数据技术】Sqoop

     1.Sqoop是什么 Sqoop:SQL-to-Hadoop,传统数据库与Hadoop间数据同步工具.(MySQL.Oracle <==> HDFS.HBase.Hive) Sqoop ...

随机推荐

  1. SQL Server 2014 Agent 无法启动

    - <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">- <System& ...

  2. js eval深入

    在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的ea ...

  3. 裸的lcs

    最长公共子串,裸的复杂度N^2 #include<bits/stdc++.h> using namespace std; ][]; int main() { ]; ]; scanf(&qu ...

  4. vs2015开发so动态库linux

    #include <stdio.h> #include <dlfcn.h> typedef int(*fn_max)(int a, int b); int main() { p ...

  5. 微信小程序 - Util工具类

    /utils/utils.js   已经扩展到App对象中,Page方法中直接使用  app.util.method(...) 调用. 1. 扩展String.replaceAll JS默认值提供re ...

  6. 【NOIP模拟题】小象涂色(概率+期望+递推)

    表示数学是个渣... 其实只需要推出每个箱子k次以后的颜色为i的概率就能算出期望了.. 对于区间[l, r]的箱子因为是任意颜色且任意取,所以概率分别为1/c和1/2,那么整体概率就为这两个的乘积.根 ...

  7. 微软ASP.NET网站部署指南(8):部署Code-Only更新

    1.  综述 初始化部署以后,你须要继续维护和更新你的网站.本章节将向你展示一个不包含数据库改变的部署升级流程.(下一章节将展示数据库改变的部署升级流程.) 提醒:假设依据本章节所做的操作出现错误信息 ...

  8. linux grub启动密码验证设置

    1.认识启动配置选项 [root@server5 ~]# cat /boot/grub/grub.conf      # grub.conf generated by anaconda # # Not ...

  9. swift开发之--Protocol(协议)

    使用object-c语言的同学们肯定对协议都不陌生,但在swift中苹果将protocol这种语法发扬的更加深入和彻底. Swift中的protocol不仅能定义方法还能定义属性,配合extensio ...

  10. 第十五篇:C程序的存储空间布局

    前言 C语言程序的执行必定需要耗费一定的资源,也就是说,程序在计算机内部的映像不可能就单单代码. 本文将讲解C语言程序在计算机内部的存在方式. 程序存储空间 1. 正文段:程序的机器指令部分 2. 初 ...