介绍
大数据Hadoop框架生态系统中一员
只有map阶段,没有reduce阶段
作用
Sqoop可以理解为一个桥梁
可以将hadoop中的hdfs文件系统中的文件导入到RDBMS中
也可以将RDBMS中表以文件的形式导入到hdfs文件系统中
同样,也可以将hive中的表导出到RDBMS中,也可以将hive中的表导入到RDBMS中
安装
安装要求:在hadoop的基础上安装,可以设置hive路径与HBase路径
配置环境变量即可
首先修改文件名:
mv sqoop-env-template.sh sqoop-env.sh
然后配置配置文件:
这样就配置好了Sqoop
使用
将hdfs中的数据信息导入到mysql中
注意:mysql中必须要有对应的表,才可以导入数据
此处可能会出错误,是因为少了一个,或者mysql 的驱动包,导入lib中即可
-
#数据导入到mysql
-
bin/sqoop
export
-
1--connect jdbc:mysql:
//bigdata-hpsk01.huadian.com/test \
-
2--username root --password
123456 \
-
3--table tb_emp --columns empno,ename,job,mgr,hiredate,sal,comm,deptno \
-
4--
export-dir /user/hive/warehouse/db_practise.db/tb_emp \
-
5--num-mappers
2 \
-
6--input-fields-terminated-by
'\t'
-
-
1:设置连接的mysql数据库
-
2:输入用户名 输入密码
-
3:要导入的表与字段信息
-
4:导入数据文件的位置
-
5:设置map任务数量
-
6:输入数据文件字段的分割方式
把数据导入到hdfs
-
bin/sqoop import \
-
1:
--connect jdbc:mysql://bigdata-hpsk01.huadian.com/test \
-
2:
--username root --password 123456 \
-
3:
--table tb_emp \
-
4:
--columns empno,ename,job,mgr,hiredate,sal,comm,deptno \
-
5:
--target-dir /user/huadian/sqoop/emp-import \
-
6:
--num-mappers 1 \
-
7:
--fields-terminated-by '\t' \
-
8:
--delete-target-dir
-
-
1234连接数据库,设置登录名密码,选择导出表与字段
-
5:选择导出文件的目录
-
6:map数量
-
7:字段分割方式
-
8:如果目标目录存在,删除
-
将RDBMS表中数据导入到HIve表中
导出执行过程:数据库->表 ->HDFS ->Hive
首先要做如下配置
SQOOP:依赖Hadoop和Hive,hive相关Jar包没有加载到SQOOP的运行环境上
export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:/opt/cdh5.7.6/hive-1.1.0-cdh5.7.6/lib/*
需要hive-site.xml放到Hadoop/etc/haddop/下面
ln -s /opt/cdh5.7.6/hive-1.1.0-cdh5.7.6/conf/hive-site.xml /opt/cdh5.7.6/hadoop-2.6.0-cdh5.7.6/etc/hadoop
-
bin/sqoop import \
-
1:
--connect jdbc:mysql://bigdata-hpsk01.huadian.com/test \
-
2:
--username root \
-
3:
--password 123456 \
-
4:
--table tb_emp \
-
5:
--columns empno,ename,job,mgr,hiredate,sal,comm,deptno \
-
6:
--hive-import \
-
7:
--hive-database default \
-
8:
--create-hive-table \
-
9:
--hive-table ht_emp \
-
10:
--fields-terminated-by ',' \
-
11:
--num-mappers 1 \
-
12:
--hive-overwrite \
-
13:
--delete-target-dir
-
-
6:导入到hive中
-
7:选择hive中的数据看
-
8:建立hive表
-
9:hive中的表名
-
10:字段分割方式
-
11:map数量
-
12:覆盖原hvie表中数据
-
13:删除目标目录,如果存在