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