提问者:小点点

Bigquery和谷歌云存储


我正在尝试使用bigquery从谷歌云存储中查询数据。

这些是我在Firebase中实时DB的数据。它由json文件组成。我如何查询和查看每个文件中的数据?

我实际上正在通读这个,但我不明白如何联系。

https://cloud.google.com/bigquery/external-data-cloud-storage

更新

如果我指向特定文件(如fire base. json),没关系。但是我需要更新我的数据。


共1个答案

匿名用户

使用UI2018-10-29

如果你想从UI。转到bigquery,在左边单击你的

project -> dataset -> at the right click on cleater Table

填写其余信息

  • 创建表来自:Google Cloud Storage
  • 从GCS存储桶中选择GCS上数据库位置的路径
  • 文件格式:JSON
  • 在架构部分下单击自动检测架构

这将在2018-10-29之前完成使用新UI的工作

使用CLI

你可以做它从谷歌控制台以及使用bigqueryCLI喜欢

bq mk --external_table_definition=gs://yourbucket/path/yourdb --destination_format NEWLINE_DELIMITED_JSON --autodetect yourdataset.yourtablename

最后一个参数是您的数据集名称点您的表名。

不需要指定文件,可以指向文件夹。关于压缩,来自BigQuery留档

如果使用gzip压缩,BigQuery无法并行读取数据。将压缩JSON数据加载到BigQuery中比加载未压缩数据慢。

所以它是支持的,但由于gz格式的限制,从性能的角度来看不推荐,反正如果应该有几个小文件,应该没关系,我认为它更多地与大文件gzied相关。

编辑:如果你需要指向多个文件,你可以使用通配符,比如--external_table_definition=gs://yourbucket/path/yourdb/*