google-cloud-platform - 如何在 BigQuery 中提取年月日?
问题描述
我的gcs上的csv文件保存在/data/yyyy=2020/mm=07/dd=03、/data/yyyy=2020/mm=08/dd=04等路径中。我一直在尝试找到一种方法提取文件路径中的yyyy、mm、dd值,以便我可以使用它来填充我的 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
查看有关加载外部分区数据的更多信息