【发布时间】:2012-08-20 11:27:02
【问题描述】:
我想将 Hive 表中的数据 sqoop 到 MySQL 表中。两者都有相同的列集,但它们的顺序不同。
有没有办法使用具有属于 mysql 表的列顺序的 Hive 查询将数据sqoop 到 mysql 表?
【问题讨论】:
标签: mysql hadoop hive bigdata sqoop
我想将 Hive 表中的数据 sqoop 到 MySQL 表中。两者都有相同的列集,但它们的顺序不同。
有没有办法使用具有属于 mysql 表的列顺序的 Hive 查询将数据sqoop 到 mysql 表?
【问题讨论】:
标签: mysql hadoop hive bigdata sqoop
Sqoop 目前不支持从 Hive 查询“导出”操作。支持的解决方法是运行您的 Hive 查询,该查询将更改 Hive 中的列顺序并将其结果作为临时表存储在 Hive 中。然后,您可以使用 Sqoop 导出此临时表。
【讨论】:
您可以使用--columns 选项将您需要的MySQL 列顺序传递给sqoop export。例如,如果您的 Hive 表按顺序排列 A, B, C,那么您运行 sqoop export --connect ... --columns A,B,C 来告诉 MySQL 它获取列的顺序。您必须使用目标 MySQL 表的列名。
【讨论】: