Sqoop-一些常用命令及参数(二) 命令&参数详解-2 命令&参数(5)list + merge + metastore
Posted on 2020-04-20 15:44 MissRong 阅读(167) 评论(0) 收藏 举报Sqoop一些常用命令及参数(二)
命令&参数详解-2 命令&参数(5)list-databases + list-tables + merge + metastore
一、list-databases
1.命令
如:
$ bin/sqoop list-databases \ --connect jdbc:mysql://bigdata111:3306/ \ --username root \ --password 000000 |
2.参数
与公用参数一样
二、list-tables
1.命令
如:
$ bin/sqoop list-tables \ --connect jdbc:mysql://bigdata111:3306/test \ --username root \ --password 000000 |
2.参数
与公用参数一样
三、merge
将HDFS中不同目录下面的数据合并在一起并放入指定目录中
数据环境:注意:以下数据自己手动改成\t
new.txt
1 AAA male
2 BBB male
3 CCC male
4 DDD male
old.txt
1 AAA female
2 CCC female
3 BBB female
6 DDD female
尖叫提示:上边数据的列之间的分隔符应该为\t,行与行之间的分割符为\n,如果直接复制,请检查之。
1.命令
如:
开始合并:注:是hdfs路径 $ bin/sqoop merge \ --new-data /new/ \ --onto /old/ \ --target-dir /test/merged1 \ --jar-file /opt/Desktop/student/Student.jar \ --class-name Student \ --merge-key id
结果: 1 AAA MALE 2 BBB MALE 3 CCC MALE 4 DDD MALE 6 DDD FEMALE |
--target-dir /test/merged1 \ 最终生成的路径
2.参数
序号 |
参数 |
说明 |
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里存放的目录 |
四、metastore
[root@bigdata111 ~]# ls -la
记录了Sqoop job的元数据信息,如果不启动该服务,那么默认job元数据的存储目录为~/.sqoop,可在sqoop-site.xml中修改。
1.命令
如:启动sqoop的metastore服务
$ bin/sqoop metastore |
2.参数
序号 |
参数 |
说明 |
1 |
--shutdown |
关闭metastore |