我见过将数据从googledataproc中的配置单元表移动到bigquery将配置单元表迁移到googlebigquery但distcp的问题是,它会将数据从hdfs移动到gs..而我的表是orc格式的。同样到目前为止,bigquery声称只支持json、csv和avro。所以需要帮助将数据从配置单元表(orc格式)传输到bigquery(任何格式)
os8fio9y1#
正如埃利奥特所说,orc不受支持。所以你必须把你的兽人数据转换成你提到的三种格式之一。我个人更喜欢avro,因为这种序列化比json或csv更健壮。所以接下来的过程是:使用正确的数据类型创建bq表(需要作为第一步来完成,以确保使用一些avro逻辑类型(如timestamp)进行正确的转换)启动配置单元查询以生成avro格式的数据。请看这个sql示例。disctp到google云存储“bq加载”到您的表中通过比较hive和bigquery上的表是否具有相同的数据,检查您没有犯任何错误:https://github.com/bolcom/hive_compared_bq
yebdmbv42#
orc是受支持的,您可以很容易地从gcp控制台创建表。https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-orc我已经做到了。注意:在配置单元表的情况下,orc文件中从未提及表的模式,因此在上载时,您将获得如下图所示的列名。一旦创建了表,就需要重命名和更新列名。
2条答案
按热度按时间os8fio9y1#
正如埃利奥特所说,orc不受支持。所以你必须把你的兽人数据转换成你提到的三种格式之一。我个人更喜欢avro,因为这种序列化比json或csv更健壮。
所以接下来的过程是:
使用正确的数据类型创建bq表(需要作为第一步来完成,以确保使用一些avro逻辑类型(如timestamp)进行正确的转换)
启动配置单元查询以生成avro格式的数据。请看这个sql示例。
disctp到google云存储
“bq加载”到您的表中
通过比较hive和bigquery上的表是否具有相同的数据,检查您没有犯任何错误:https://github.com/bolcom/hive_compared_bq
yebdmbv42#
orc是受支持的,您可以很容易地从gcp控制台创建表。
https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-orc
我已经做到了。
注意:在配置单元表的情况下,orc文件中从未提及表的模式,因此在上载时,您将获得如下图所示的列名。一旦创建了表,就需要重命名和更新列名。