Bigquery如何使用存储在Google云中的数据?

时间:2017-10-05 13:59:46

标签: google-bigquery google-cloud-platform google-cloud-storage

提出一个非常基本的问题,但无法破译,请帮助我。

Q1:当我们使用以下命令创建bigquery表时,数据驻留在同一个云存储中?

bq load --source_format=CSV 'market.cust$20170101' \
  gs://sp2040/raw/cards/cust/20170101/20170101_cust.csv

Q2:让我们说我的数据总监是gs://sp2040/raw/cards/cust/客户档案定义的表结构是:

bq mk --time_partitioning_type=DAY market.cust \ 
  custid:string,grp:integer,odate:string

每天我在桶中创建新的目录,例如20170101,20170102 ..以加载新的数据集。因此,在此存储桶中加载数据后,我需要触发查询。

D1:

bq load --source_format=CSV 'market.cust$20170101' \
  gs://sp2040/raw/cards/cust/20170101/20170101_cust.csv

D2:

bq load --source_format=CSV 'market.cust$20170102' \ 
  gs://sp2040/raw/cards/cust/20170102/20170102_cust.csv

2 个答案:

答案 0 :(得分:0)

是的,您需要使用这些命令将数据加载到BigQuery中。

但是,有几种选择

  • PubSub和Dataflow:您可以将PubSub配置为观察您的云存储,并在添加文件时创建通知,如here所述。然后,您可以使用Dataflow作业将文件导入BigQuery。 DataFlow Documentation

  • BigQuery外部表:BigQuery可以查询存储在云存储中的cvs文件,而无需导入数据,如here所述。对文件名有通配符支持,因此可以配置一次。性能可能不如直接在BigQuery中存储项目

答案 1 :(得分:0)

  

当我们使用以下命令创建bigquery表时,数据驻留在同一个云存储中?

都能跟得上! BigQuery没有使用云存储来存储数据(除非它是链接到云存储的联合表) 检查BigQuery Under the Hood with Tino Tereshko and Jordan Tigani - 你会喜欢它

  

我是否需要触发查询

是。您需要将这些文件加载​​到BigQuery中,以便查询数据