我想在bigquery中创建一个外部表,该表从Google云存储中加载数据。从Web UI创建表的过程中,“分区类型”选项被禁用。有什么办法可以创建分区的外部表?我的数据已在GCS Ex上按日期格式分区:/ somepath / data / dt = 2018-03-22
当您使用文件名作为变量(_FILE_NAME
)时,GCS中的联合表会自动充当分区表。
例如,此视图将文件名转换为本地日期:
#standardSQL
CREATE VIEW `fh-bigquery.views.wikipedia_views_test_ddl`
AS SELECT
PARSE_TIMESTAMP('%Y%m%d-%H%M%S', REGEXP_EXTRACT(_FILE_NAME, '[0-9]+-[0-9]+')) datehour
, _FILE_NAME filename
, line
FROM `fh-bigquery.views.wikipedia_views_gcs`
稍后,我可以编写如下查询:
#standardSQL
SELECT *
FROM `fh-bigquery.views.wikipedia_views_test_ddl`
WHERE EXTRACT(YEAR FROM datehour)=2015
AND EXTRACT(MONTH FROM datehour)=10
AND EXTRACT(DAY FROM datehour)=21
AND EXTRACT(HOUR FROM datehour)=7
...,并且这些查询只会打开名称与此模式匹配的文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句