什么是将数据从hive表复制到Bigquery的推荐方法

时间:2018-02-13 05:01:26

标签: hive google-cloud-platform google-bigquery orc

我见过 Move data from hive tables in Google Dataproc to BigQuery Migrate hive table to Google BigQuery

但是distcp的问题是,它会将数据从hdfs移动到gs ..而我的表是ORC格式。到目前为止,bigquery声称只支持JSON,CSV,AVRO。

因此需要帮助将数据从hive表(ORC格式)传输到BigQuery(任何格式)

2 个答案:

答案 0 :(得分:3)

如Elliot所述,ORC不受支持。因此,您必须将ORC数据转换为您提到的3种格式之一。 我个人更喜欢Avro,因为这种序列化比JSON或CSV更强大。

所以要遵循的过程是:

  1. 使用正确的数据类型创建BQ表(需要在第一步完成,以确保使用某些Avro逻辑类型(如时间戳)进行正确转换)
  2. 启动Hive查询以生成Avro格式的数据。见this SQL example
  3. 对谷歌云存储的攻击
  4. " bq load"进入你的桌子
  5. 通过比较Hive和BigQuery上的表格具有相同的数据,检查您是否犯了任何错误:https://github.com/bolcom/hive_compared_bq

答案 1 :(得分:0)

orc受支持,您可以从GCP控制台轻松创建表。

https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-orc

我已经做到了。

注意:在hive表的情况下,orc文件中从未提及表的架构,因此在上载时,您将获得如下图所示的列名。创建表后,您需要重命名和更新列名。 enter image description here

enter image description here