第一部分:介绍
1.Sqoop:SQL-to-Hadoop
2.大数据Hadoop框架生态系统中一员
3.底层mapreduce分布式处理,加快了数据传输速度,保证了容错性,并且仅仅只有Map Task
4.是Apache的顶级项目
第二部分:安装
修改配置文件sqoop-env.sh
第三部分:常用用法
1.sqoop导入(关系型数据库 to HDFS)
bin/sqoop import \
--connect jdbc:mysql://bigdata-hpsk01.huaqi.com/test \
--username root \
--password 123456 \
--table tb_emp \
--columns empno,ename,job,mgr,hiredate,sal,comm,deptno \
--target-dir /user/huaqi/sqoop/emp-import \
--num-mappers 1 \
--fields-terminated-by ',' \
--delete-target-dir
说明:
–connnect: 指定JDBC URL
–username/password:mysql数据库的用户名
–table:要读取的数据库表
–columns: 要读取的列
–target-dir:HDFS中导入表的存放目录
–num-mappers:要运行的map任务数
–fields-terminated-by:表中的内容用什么分割
–delete-target-dir如果存在表就文件就删除
2.sqoop导出(HDFS to 关系型数据库)
bin/sqoop export \
--connect jdbc:mysql://bigdata-hpsk01.huaqi.com/test \
--username root \
--password 123456 \
--table tb_emp \
--columns empno,ename,job,mgr,hiredate,sal,comm,deptno \
--export-dir /user/hive/warehouse/emp \
--num-mappers 1 \
--input-fields-terminated-by '\t'
说明:
–connnect: 指定JDBC URL
–username/password:mysql数据库的用户名
–table:要存储数据库的表
–columns: 要存储的列
–export-dir:HDFS导出的目录
–num-mappers:要运行的map任务数
–input-fields-terminated-by:用什么分割传来的文件
3.sqoop导入(关系型数据库 to hive)
bin/sqoop import \
--connect jdbc:mysql://bigdata-hpsk01.huaqi'.com/test \
--username root \
--password 123456 \
--table tb_word \
--columns word,count \
--hive-import \
--hive-database default \
--create-hive-table \
--hive-table ht_word \
--fields-terminated-by ',' \
--num-mappers 1 \
--hive-overwrite \
--delete-target-dir
–connnect: 指定JDBC URL
–username/password:mysql数据库的用户名
–table:要读取的数据库表
–columns: 要读取的列
–hive-import:将数据存储到hive库内
–hive-database:存储到哪个数据库
–create-hive-table :创建hive表
–hive-table :创建hive表的表名
–fields-terminated-by :用什么分割保存
–num-mappers :要运行的map任务数
–hive-overwrite:存在内容就覆盖
–delete-target-dir:存在文件就删除