Sqoop常用指令
公共参数 | –connect | 指定连接的url 例如:jdbc:mysql://hadoop102:3306 |
---|---|---|
–username | 指定登录账号 | |
–password | 指定登录密码 | |
–driver | 指定驱动类[可以通过url推断,可以不写] | |
import | 控制参数 | |
–append | 指定是否将数据追加到指定目录 | |
–as-textfile | 指定数据保存到hdfs上以text的文件格式保存 | |
–as-parquetfile | 指定数据保存到hdfs上以Parquet(列式存储)的格式保存 | |
–compress 【-z】 | 指定是否使用压缩 | |
–compression-codec | 指定压缩格式 【默认gzip】 | |
–delete-target-dir | 是否删除目标路径(防止导入一部分失败后造成脏数据) | |
–fetch-size | 指定每个批次从MySQL拉取的数据大小 | |
–num-mappers【-m】 | 设置使用多少个maptask并行导入数据 | |
–query 【-e】 | 通过SQL语句指定从MySQL导出导入数据 | |
–columns | 指定导入MySQL哪些列的数据 | |
–table | 指定导出哪个表的数据 | |
–where | 指定导入到MySQL的条件 | |
–split-by | 设置按照哪个字段进行分配到MapTask | |
–target-dir | 指定保存在HDFS上的路径 | |
–null-string | 当字符串列为null值时要以什么字符写入HDFS(hive中null值保存的是\N ) | |
–null-non-string | 当非字符串列为null值时要以什么字符写入HDFS (例如:–null-non-string ‘\N’) | |
增量数据导入 | ||
–check-column | 指定通过哪个字段识别增量数据 | |
–incremental {append/lastmodified} | append:只导入新增数据,lastmodified导入新增,修改的数据(一般通过时间字段来确定是否修改) | |
–last-value | 指定上次导入的最大值,后续表中>该值就是增量数据 | |
分割符 | ||
–fields-terminated-by | 指定导入到HDFS中的字段分隔符 | |
–lines-terminated-by | 指定数据保存到HDFS上时行之间的分隔符 | |
直接导入hive表中 | ||
–hive-import | 指定将数据直接导入到hive表 | |
–hive-overwrite | 指定是否以覆盖的形式导入 | |
–create-hive-table | 指定导入hive表中,若hive表不存在则自动创建,若存在则报错 | |
–hive-table | 指定导入的hive的表名 | |
–hive-partition-key | 指定数据导入hive表时分区字段名称 | |
–hive-partition-value | 指定数据导入hive表时分区字段值 | |
output | ||
控制参数 | ||
–columns | 指定数据导入到mysql哪些列中 | |
–num-mappers 【-m】 | 指定mapper的个数 | |
–table | 指定数据导入哪个mysql表 | |
–export-dir | 指定HDFS中数据的路径 | |
–update-key | 指定HDFS数据与MySQL数据通过哪一列判断是同一条数据 | |
–update-mode {updateonly/allowinsert } | updateonly:如果数据相同,只更新数据,allowinsert:相同更新数据,不同插入 | |
–input-null-string | 指定HDFS中字符串列数据是null,在MySQL中存储的形式 | |
–input-null-non-string | 指定HDFS中非字符串列数据是null,在MySQL中存储的形式 | |
分割符 | ||
–input-fields-terminated-by | 指定HDFS中数据字段之间的分隔符 | |
–input-lines-terminated-by | 指定HDFS中行字段之间的分隔符 |
表格下载
https://download.csdn.net/download/qq_38705144/14425591