写在开头
sqoop,想必进来围观的小伙伴们已经很熟悉了,笔者想把一些在实际使用sqoop过程中遇到的问题和注意事项记录并分析给大家,希望能帮助有需要的同学。随着对sqoop不断深入的了解,笔者会不断的以文章的形式记录并分析给大家,欢迎小伙伴们前来围观。
一次从Hive到PostgreSql的数据迁移
最近在做一项数据迁移工作,数据源头是Hive表,数据的目的地是PostgreSql表,最终使用的sqoop命令形式如下:
sqoop export \
--connect jdbc:postgresql://host:5432/db?currentSchema=db\
--username xxx --password xxx \
--table sqoop_test \
--input-null-string '\\N' \
--input-null-non-string '\\N' \
--hcatalog-database 'xxx' \
--hcatalog-table 'xxx' \
--hcatalog-partition-keys a,b \
--hcatalog-partition-values valuea,valueb \
--columns "a,b" \
-m 1
命令参数的含义官网均能查到,这里想列出两点注意事项
1、–hcatalog-partition-keys、–hcatalog-partition-values要配合使用,用来对分区进行筛选,若hive表有多个分区字段,–hcatalog-partition-keys用来指定一个或多个或全部分区字段,而–hcatalog-partition-values用来指定与参数–hcatalog-partition-keys所对应的分区字段值。
2、参数–columns中所指定的列,要确保在参数–hcatalog-table所指定的Hive表中存在。
作者这水平有限,有不足之处欢迎留言指正