【问题标题】:Issues with loading BQ clustered table加载 BQ 聚簇表的问题
【发布时间】:2020-01-06 03:53:49
【问题描述】:

当我尝试将数据从现有分区表加载到 Bigquery 中的新聚集表时,我看到以下错误。

Failed to copy Natural partitioned table to Natural partitioned clustering table: not supported

请输入任何内容。

【问题讨论】:

  • 您能否提供更多详细信息 - 您是如何执行此操作的?
  • 当我尝试将数据从现有分区表加载到 Bigquery 中的新聚集表时,出现错误。当我使用插入语句时,我看到 Omitting "INSERT target column list is unsupported for ingestion-time partitioned table" 错误。请任何解决方案
  • 因此该错误与问题中发布的错误非常不同。您能否发布一个新的完整问题,包括您正在运行的指令、遇到的错误以及我们重现您的问题的方法?

标签: google-bigquery


【解决方案1】:

根据https://cloud.google.com/bigquery/docs/creating-clustered-tables 您可以将表创建为:

CREATE TABLE
   mydataset.myclusteredtable
 PARTITION BY
   DATE(timestamp)
 CLUSTER BY
   clustering_column AS
 SELECT
   *
 FROM
   `mydataset.mytable`

注意:查询聚簇表和将查询结果写入聚簇表仅支持标准 SQL。

【讨论】:

  • 谢谢,我已经浏览了这些文件。当我尝试将数据从现有分区表加载到 Bigquery 中的新聚集表时,我看到了错误。
  • 我在尝试将数据从现有分区表加载到 Bigquery 中的新聚集表时看到错误。当我使用插入语句时,我看到 Omitting "INSERT target column list is unsupported for ingestion-time partitioned table" 错误。请任何解决方案
  • @melgeek 你能发布你的解决方案吗,你有什么尝试帮助我们更好地理解?现在,您是否也遇到了与问题中发布的相同的错误?
【解决方案2】:

注意,BigQuery 支持几种partitions

  • 提取时间:根据数据的提取(加载)日期或到达日期对表进行分区。
  • 日期/时间戳:根据 TIMESTAMP 或 DATE 列对表进行分区。
  • 整数范围:此功能处于预发布状态

表只能由一个字段分区,该字段必须是时间戳或日期列,并由一组列聚集。

先决条件:

如果所有源表都是分区表,则所有源表的分区规范必须与目标表的分区规范匹配。源表和目标表必须位于同一位置的数据集中。

【讨论】:

  • 谢谢,我已经浏览了这些文件。当我尝试将数据从现有分区表加载到 Bigquery 中的新聚集表时,我看到了错误。
  • 当我尝试将数据从现有分区表加载到 Bigquery 中的新聚集表时,出现错误。当我使用插入语句时,我看到 Omitting "INSERT target column list is unsupported for ingestion-time partitioned table" 错误。请任何解决方案
  • 正如@Felipe Hoffa 在评论中所说,请将此错误放在一个新问题中并描述您到目前为止所采取的步骤,谢谢!
猜你喜欢
  • 2019-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-04
相关资源
最近更新 更多