2.14 命令&参数:merge
将HDFS中不同目录下面的数据合并在一起并放入指定目录中
数据环境:
new_staff 1 AAA male 2 BBB male 3 CCC male 4 DDD male old_staff 1 AAA female 2 CCC female 3 BBB female 6 DDD female |
尖叫提示:上边数据的列之间的分隔符应该为\t,行与行之间的分割符为\n,如果直接复制,请检查之。
命令:
如:
创建JavaBean: $ bin/sqoop codegen \ –connect jdbc:mysql://hadoop102:3306/company \ –username root \ –password 000000 \ –table staff \ –bindir /home/admin/Desktop/staff \ –class-name Staff \ –fields-terminated-by “\t”
开始合并: $ bin/sqoop merge \ –new-data /test/new/ \ –onto /test/old/ \ –target-dir /test/merged \ –jar-file /home/admin/Desktop/staff/Staff.jar \ –class-name Staff \ –merge-key id 结果: 1 AAA MALE 2 BBB MALE 3 CCC MALE 4 DDD MALE 6 DDD FEMALE |
参数:
序号 |
参数 |
说明 |
1 |
–new-data <path> |
HDFS 待合并的数据目录,合并后在新的数据集中保留 |
2 |
–onto <path> |
HDFS合并后,重复的部分在新的数据集中被覆盖 |
3 |
–merge-key <col> |
合并键,一般是主键ID |
4 |
–jar-file <file> |
合并时引入的jar包,该jar包是通过Codegen工具生成的jar包 |
5 |
–class-name <class> |
对应的表名或对象名,该class类是包含在jar包中的 |
6 |
–target-dir <path> |
合并后的数据在HDFS里存放的目录 |
想要了解跟多关于大数据培训课程内容欢迎关注尚硅谷大数据培训,尚硅谷除了这些技术文章外还有免费的高质量大数据培训课程视频供广大学员下载学习
上一篇: 大数据培训Sqoop命令&参数-list-tables
下一篇: Java培训学习常见函数之聚合函数