从HDFS(包括Hive和HBase)中将数据导出到关系型数据库中。
1、命令案列
[victor@node1 sqoop-1.4.7]$ bin/sqoop export \
--connect jdbc:mysql://node1:3306/company \
--username root \
--password 000000 \
--table staff \
--export-dir /user/company \
--input-fields-terminated-by "\t" \
--num-mappers 1
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个参数非空,则可以在导出操作执行前,清空临时事务结果表 |