从谷歌云存储中的 csv 加载数据作为 bigquery 'in' 查询
Posted
技术标签:
【中文标题】从谷歌云存储中的 csv 加载数据作为 bigquery \'in\' 查询【英文标题】:Load data from csv in google cloud storage as bigquery 'in' query从谷歌云存储中的 csv 加载数据作为 bigquery 'in' 查询 【发布时间】:2018-12-11 09:16:14 【问题描述】:我想使用 bigquery 编写这样的查询,我的文件存储在 Google 云平台存储中:
select * from my_table where id in ('gs://bucket_name/file_name.csv')
我没有得到任何结果。是否可以?还是我错过了什么?
【问题讨论】:
你不能那样做。改为阅读此内容:cloud.google.com/bigquery/external-data-cloud-storage 【参考方案1】:您可以使用 CLI 或 API 对 GCS 文件进行即席查询,而无需创建表,此处提供了完整示例 Accessing external (federated) data sources with BigQuery’s data access layer
代码 sn-p 在这里:
BigQuery query --external_table_definition=healthwatch::date:DATETIME,bpm:INTEGER,sleep:STRING,type:STRING@CSV=gs://healthwatch2/healthwatchdetail*.csv 'SELECT date,bpm,type FROM healthwatch WHERE type = "elevated" and bpm > 150;'
Waiting on BigQueryjob_r5770d3fba8d81732_00000162ad25a6b8_1 ... (0s)
Current status: DONE
+---------------------+-----+----------+
| date | bpm | type |
+---------------------+-----+----------+
| 2018-02-07T11:14:44 | 186 | elevated |
| 2018-02-07T11:14:49 | 184 | elevated |
+---------------------+-----+----------+
另一方面,您可以创建一个具有自动检测架构的永久 EXTERNAL 表,以促进 WebUI 和持久性在此处阅读更多信息Querying Cloud Storage Data
【讨论】:
以上是关于从谷歌云存储中的 csv 加载数据作为 bigquery 'in' 查询的主要内容,如果未能解决你的问题,请参考以下文章
Numpy 从谷歌云存储加载内存映射数组(mmap_mode)