如何使用sqoop

时间:2018-01-10 19:45:36

标签: sqoop

我从sqoop文档中读到

  

23.6。支持分区Sqoop HCatalog功能支持以下表格类型:

     

未分区表具有静态分区键的分区表   指定带有动态分区键的分区表   数据库结果集分区表与静态的组合   密钥和其他动态分区密钥

但我没有得到如何使用sqoop使用动态分区。

sqoop import --connect jdbc:mysql://localhost:3306/test
--username root
--password-file file:///home/hdfs/.password
--split-by id
--table test 
--delete-target-dir
--fields-terminated-by ","
--hcatalog-table test
--hcatalog-storage-stanza "stored as orcfile"
--create-hcatalog-table
--hcatalog-partition-keys created_at
--map-column-hive created_at=date,updated_at=date

但是我收到了这个错误...

  

--hcatalog-partition-keys和--hcatalog-partition-values   应提供或者省略这两个选项。

如果我使用--hcatalog-partition-values,则将其指定为静态分区。

sqoop import --connect jdbc:mysql://localhost:3306/test
--username root
--password-file file:///home/hdfs/.password
--split-by id
--table test 
--delete-target-dir
--fields-terminated-by ","
--hcatalog-table test
--hcatalog-storage-stanza "stored as orcfile"
--create-hcatalog-table
--hcatalog-partition-keys created_at
--hcatalog-partition-value created_at
--map-column-hive created_at=date,updated_at=date

将[{1}}作为created_at后,它创建了如下目录:hcatalog-partition-value

它应该使用apps/hive/warehouse/test/created_at=created_at列来根据数据创建动态分区。

请帮我解决这个问题。谢谢!

0 个答案:

没有答案