这篇文章是将自己所学技术按模块划分总结而成的笔记,包含了 JavaSE、JavaWeb(SpringMVC、Spring、MyBatis、SpringBoot、SpringCloud 等)、Linux、Hadoop、MapReduce、Hive、Scala、Spark 等,希望通过这些笔记的总结,不仅能让自己对这些技术的掌握更加深刻,同时也希望能帮助一些其他热爱技术的人,这些笔记后续会继续更新,以后自己学习的其他最新技术,也都会以这样笔记的形式来保留,这些笔记已经共享到 Github,大家可以在那里下载到 Markdown 文件,如果大家在看的时候有什么问题或疑问,可以通过邮箱与我取得联系,或者在下面的评论区留言,同时也可以在 Github 上与我进行互动,希望能与大家一起相互学习,相互进步,共同成长。
本篇文章 Github 地址 : https://github.com/wpwbb510582246/study-notes/blob/master/10 Sqoop/10 Sqoop.md
项目 Github 地址 : https://github.com/wpwbb510582246/study-notes
email : weipengweibeibei@163.com
博客地址 : https://blog.csdn.net/wpwbb510582246
10 Sqoop
Sqoop 的导入和导出是相对于 Hadoop 而言,导入到 Hadoop 称为 Sqoop 导入,导出 Hadoop 称为 Sqoop 导出
10.1 Sqoop 导入
10.1.1 导入 MySQL 表数据到 HDFS
bin/sqoop import --connect jdbc:mysql://192.168.46.34:3306/test --username root --password '' --target-dir /sqoopresult --table user --m 1
10.1.2 导入 MySQL 表数据到 Hive 表
bin/sqoop create-hive-table --connect jdbc:mysql://192.168.52.1:3306/test --table user --username root --password '' --hive-table kkk.abcd
10.1.3 导入表数据子集
bin/sqoop import --connect jdbc:mysql://192.168.52.1:3306/test --username root --password '' --where "age > 22" --target-dir /wherequery --table user --m 1
bin/sqoop import --connect jdbc:mysql://192.168.52.1:3306/test --username root --password '' --target-dir /wherequery12 --query 'select * from user where age < 23 and $CONDITIONS' --fields-terminated-by '\t' --m 1
10.1.4 增量导入
bin/sqoop import --connect jdbc:mysql://172.16.1.177:3306/test --username root --password '' --table user --m 1 --target-dir /wherequery13 --incremental append --check-column age --last-value 22
10.2 Sqoop 导出
10.2.1 导出 HDFS 数据到 MySQL
sqoop export \
--connect jdbc:mysql://hdp-node-01:3306/webdb
--username root
--password root \
--table click_stream_visit \
--export-dir /user/hive/warehouse/dw_click.db/click_stream_visit/datestr=2013-09-18 \
--input-fields-terminated-by '\001'