Bigquery 直接查询 Google Storage 中的 csv 文件
Posted
技术标签:
【中文标题】Bigquery 直接查询 Google Storage 中的 csv 文件【英文标题】:Bigquery querying dirtectly over csv files in Google Storage 【发布时间】:2021-08-02 15:24:56 【问题描述】:我想就 GCP 的技术问题向您寻求指导。
是否可以在 bigquery 中直接从存储中读取和查询 CSV 文件而无需加载表? 例如,如果我在路径 gs://mybucket/file1.csv 和 gs://mybucket/file2.csv 中有 2 个 csv,我可以直接对文件进行查询吗?类似于“从 [myproject.mybucket.file2.csv] 中选择 *”
我的目标是能够根据需要从一组(大型)csv 文件中查询信息,以及这些文件的起始日期。我的目标是不加载不使用的数据,仅在必要时查阅数据。
如果这不可能,你给我什么建议不要永久加载所有数据?
非常感谢您。
【问题讨论】:
【参考方案1】:是的,这可以做到。您需要做的是定义一个外部表,它允许您在不摄取数据的情况下查询云存储中的数据。更多信息请参见:https://cloud.google.com/bigquery/external-data-cloud-storage
如果您在云存储中的 CSV 文件也以与配置单元分区布局兼容的格式组织,您还可以使用它来帮助减少扫描数据或将其用作表的附加伪列。如果不是,请注意_FILE_NAME
周围的指南,如果 CSV 的文件名与您的查询相关,该指南也很有用。
【讨论】:
以上是关于Bigquery 直接查询 Google Storage 中的 csv 文件的主要内容,如果未能解决你的问题,请参考以下文章
Google BigQuery:将查询结果保存到表时找不到数据集
通过 Google BigQuery API 将查询结果导出为 JSON
使用 Google Composer 运行 Bigquery 查询