我有按ts_date和orid划分的配置单元数据,下面是文件的示例云存储url
myhivepartionedbucket/crunched-logs/mrs-suds-sloaders/loader-log/output/{year}/{month}/{Day}/{Hour}/{Min}/ts_date={yyyy-mm-dd}/orid={orid}/file.orc
以下是生产中的云存储实际url
myhivepartionedbucket/crunched-logs/mrs-suds-sloaders/loader-log/output/2020/08/06/00/30/ts_date=2020-08-05/orid=6691/part-202008060030.orc
这种结构将在每个月的所有日子里都存在,所有orid的每小时相隔24小时
现在,我们希望通过ts_date分区和orid聚类来调度将这类数据加载到大查询中。
我已经在控制台上尝试了一个没有分区的文件,我可以加载数据,但我如何通过ts_date分区和orid集群定期调度和加载这种数据。
我是GCP的新手,对谷歌提供的文档没有足够的了解,所以有人可以指导或给我在python 中的UI或程序上运行的想法吗
提前感谢
您可以使用带有通用前缀的通配符,如:
myhivepartionedbucket/crunched-logs/mrs-suds-sloaders/loader-log/output/*.orc
加载包含ORC数据的所有文件。
通过控制台加载ORC数据时,请确保启用源数据分区。
控制台允许您设置几个参数,包括分区和集群。但是,为了按列进行分区,要求从ORC文件推断的架构至少有一列为DATE或TIMESTAMP类型,否则,加载ORC数据时此选项不可用。由于您计划使用通过URI路径(ts_date(检测到的列进行分区,因此此选项可能不可用,因此我的建议是将其加载为常规表,然后根据常规表的查询结果创建分区/集群表。
最后,一旦您有了分区/集群表,您就可以将其用作云存储BigQuery数据传输服务的目标,该服务允许您安排从云存储到BigQuery的重复数据加载。