如何为 Google Bigquery 表创建季度分区 [重复]

Posted

技术标签:

【中文标题】如何为 Google Bigquery 表创建季度分区 [重复]【英文标题】:How to create a quarterly partitions for a Google Bigquery Table [duplicate] 【发布时间】:2019-09-25 15:49:32 【问题描述】:

我正在尝试针对 TPCH 数据集中的表 LINEITEM 加载 TPCH DATA。

我需要针对该表创建季度分区。默认情况下会创建每日分区。由于表很大,大查询表作业在 2000 个左右分区后会失败。

如何为 LINEITEM 表创建季度分区?

【问题讨论】:

在这里做的:***.com/questions/56125048/… 【参考方案1】:

BigQuery 中您只能使用 DATETIMESTAMP 分区。

https://cloud.google.com/bigquery/docs/partitioned-tables#partitioned_tables

您应该最多可以访问 4,000 个分区,但您可能会达到以下限制(来自链接):An individual operation can commit data into up to 2,000 distinct partitions.。你能把你的加载工作分解成更小的步骤吗?

【讨论】:

感谢您的快速回答。即使是 4000 个分区也无法工作。因为这将是多年(2000-2019 年左右)的每日分区。我正在查看季度分区支持或年度分区支持。如果有任何支持?日常分区不起作用 如果我尝试使用“PARTITION by date_trunc(l_shipdate,year)”作为“CREATE TABLE SYNTAX”的一部分。它不采用语法。我不能在表中添加一个新列,比如 l_shipdate_year我的查询的语法需要更改。TPCH 查询主要使用 l_shipdate > 或 l_shipdate 。现在要利用分区修剪,我可能必须添加一个新过滤器 l_shipdate_year > 来进行分区修剪除了我的常规过滤器 l_shipdate > 和 l_shipdate

以上是关于如何为 Google Bigquery 表创建季度分区 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Google BigQuery 转义 JavaScript UDF 中的字符?

如何为 Google BigQuery JDBC 驱动程序指定区域位置?

如何为 BigQuery 中的 GA 数据创建基于页面和事件的转化渠道

适用于 BigQuery 的最佳 Google Cloud Storage

Google 数据准备 - 无法从 BigQuery 导入表(从 Google 表格创建)“未找到”

使用 Google BigQuery Python 库创建或替换表