Sqoop-一些常用命令及参数(二) 命令&参数详解-2 命令&参数(2) export+codegen
Posted on 2020-04-20 13:27 MissRong 阅读(404) 评论(0) 收藏 举报Sqoop一些常用命令及参数(二)
命令&参数详解-2 命令&参数(2) export+codegen
一、export
从HDFS(包括Hive和HBase)中将数据导出到关系型数据库中。
1.命令
|
bin/sqoop export \ --connect jdbc:mysql://bigdata111:3306/test \ --username root \ --password 000000 \ --export-dir /user/hive/warehouse/staff_hive \ --table aca \ --num-mappers 1 \ --input-fields-terminated-by "\t" |
2.参数
|
序号 |
参数 |
说明 |
|
1 |
--direct |
利用数据库自带的导入导出工具,以便于提高效率 |
|
2 |
--export-dir <dir> |
存放数据的HDFS的源目录 |
|
3 |
-m或--num-mappers <n> |
启动N个map来并行导入数据,默认4个 |
|
4 |
--table <table-name> |
指定导出到哪个RDBMS中的表 |
|
5 |
--update-key <col-name> |
对某一列的字段进行更新操作 |
|
6 |
--update-mode <mode> |
updateonly allowinsert(默认) |
|
7 |
--input-null-string <null-string> |
请参考import该类似参数说明 |
|
8 |
--input-null-non-string <null-string> |
请参考import该类似参数说明 |
|
9 |
--staging-table <staging-table-name> |
创建一张临时表,用于存放所有事务的结果,然后将所有事务结果一次性导入到目标表中,防止错误。 |
|
10 |
--clear-staging-table |
如果第9个参数非空,则可以在导出操作执行前,清空临时事务结果表 |
二、codegen
将关系型数据库中的表映射为一个Java类,在该类中有各列对应的各个字段。如:
|
$ bin/sqoop codegen \ --connect jdbc:mysql://bigdata111:3306/test \ --username root \ --password 000000 \ --table student \ --bindir /root/student \ --class-name Student \ --fields-terminated-by "\t" |

|
序号 |
参数 |
说明 |
|
1 |
--bindir <dir> |
指定生成的Java文件、编译成的class文件及将生成文件打包为jar的文件输出路径 |
|
2 |
--class-name <name> |
设定生成的Java文件指定的名称 |
|
3 |
--outdir <dir> |
生成Java文件存放的路径 不写的话就放在当前路径 |
|
4 |
--package-name <name> |
包名,如com.z,就会生成com和z两级目录 |
|
5 |
--input-null-non-string <null-str> |
在生成的Java文件中,可以将null字符串或者不存在的字符串设置为想要设定的值(例如空字符串) |
|
6 |
--input-null-string <null-str> |
将null字符串替换成想要替换的值(一般与5同时使用) |
|
7 |
--map-column-java <arg> |
数据库字段在生成的Java文件中会映射成各种属性,且默认的数据类型与数据库类型保持对应关系。该参数可以改变默认类型,例如:--map-column-java id=long, name=String |
|
8 |
--null-non-string <null-str> |
在生成Java文件时,可以将不存在或者null的字符串设置为其他值 |
|
9 |
--null-string <null-str> |
在生成Java文件时,将null字符串设置为其他值(一般与8同时使用) |
|
10 |
--table <table-name> |
对应关系数据库中的表名,生成的Java文件中的各个属性与该表的各个字段一一对应 |
浙公网安备 33010602011771号