首页 > 解决方案 > 如何在 BigQuery 中提取年月日?

问题描述

我的gcs上的csv文件保存在/data/yyyy=2020/mm=07/dd=03、/data/yyyy=2020/mm=08/dd=04等路径中。我一直在尝试找到一种方法提取文件路径中的yyyy、mm、dd值,以便我可以使用它来填充我的 BigQuery 表中的类似列..

标签: google-cloud-platformgoogle-bigquery

解决方案


2020 年 3 月起- BigQuery 支持使用默认配置单元分区布局加载存储在 Cloud Storage 上的 Avro、Parquet、ORC、CSV 和 JSON 格式的外部分区数据。

默认情况下,当从 Cloud Storage 加载此类数据时 - Hive 分区键显示为普通列。支持三种模式的 Hive 分区模式检测:

  • AUTO:自动检测键名和类型。可以检测以下类型:STRING、INTEGER、DATE 和 TIMESTAMP。
  • STRINGS:键名自动推断为 STRING 类型。
  • CUSTOM:分区键模式在源 URI 前缀中编码。

同时,如果需要,您可以提供自定义分区键架构以将这些列命名为 - 例如 - 年、月、日,而不是 yyyy、mm、dd

查看有关加载外部分区数据的更多信息


推荐阅读