gpt4 book ai didi

java - 如何从 Java 在 BigQuery 中创建分区表?

转载 作者:行者123 更新时间:2023-12-01 13:11:46 25 4
gpt4 key购买 nike

我想在 BigQuery 中从 java 创建一个分区表(按 DATE 类型的字段分区)。我搜索了很多,但没有太多关于此的信息。我使用的代码是

        TimePartitioning timePartitioning = TimePartitioning.of(TimePartitioning.Type.DAY);
timePartitioning.toBuilder().setField("col3");
TableDefinition tableDefinition = StandardTableDefinition.newBuilder().setSchema(schema2).setTimePartitioning(timePartitioning).build();
TableInfo tableInfo = TableInfo.newBuilder(tableId, tableDefinition).build();
bigquery.create(tableInfo);

在这里,我有几个问题

  1. 即使我们想按日期分区,我们是否应该使用 TimePartitioning?
  2. 我无法在 BigQuery 用户界面中看到“分区字段”附近的列名称。我用了this作为引用。我必须使用 TimePartitioning 类而不是 TimePartitioningBuilder,因为 setTimePartitioning() 只接受 TimePartitioning。

最佳答案

最简单的方法是发出标准查询 - 如果您可以从 Java 查询(您已经这样做了?),只需发送这样的查询:

#standardSQL
CREATE TABLE `project.dataset.table`
(
x INT64 OPTIONS(description="An optional INTEGER field"),
y STRUCT<
a ARRAY<STRING> OPTIONS(description="A repeated STRING field"),
b BOOL
>,
date_column DATE
)
PARTITION BY date_column
CLUSTER BY i_recommend_you_to_choose_a_clustering_column

关于java - 如何从 Java 在 BigQuery 中创建分区表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59530629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com