【问题标题】:My Bigquery job succesfully in terraform but not done in cloud我的 Bigquery 工作在 terraform 中成功,但在云中没有完成
【发布时间】:2022-11-06 00:45:46
【问题描述】:

我创建了一个在 terraform 中在云中运行查询的作业,它运行成功,但未在云中完成作业。双查询.tf

resource "google_bigquery_job" "user_data_job" {
  job_id     = "job_query_${random_id.random_job_id.hex}"
  location = "US"


labels = {
    "job_type" ="create_table"
  }
  query {
    query = "CREATE TABLE myproject.shop45_dataset.user_data AS SELECT first_name, last_name, email,FROM myporject.shop45_dataset.shop_data"

    destination_table {
      project_id = google_bigquery_table.shop_table.project
      dataset_id = google_bigquery_table.shop_table.dataset_id
      table_id   = google_bigquery_table.shop_table.table_id
    }
   allow_large_results = true
    flatten_results = true

  }
  depends_on = [
    google_bigquery_job.import_job
  ]
}

我也尝试不同的 sql 查询

CREATE TABLE `user_data` AS SELECT first_name, last_name, email, FROM ${google_bigquery_table.shop_table.table_id}"

我想从 shop_table 表创建一个表

我的云日志。

job_type: "create_table"
}
query: {
createDisposition: "CREATE_IF_NEEDED"
defaultDataset: {0}
destinationTable: {3}
query: "CREATE TABLE t-12-vm.shop45_dataset.user_data AS SELECT first_name, last_name, email,FROM t-12-vm.shop45_dataset.shop_data"
queryPriority: "QUERY_INTERACTIVE"
statementType: "QUERY_STATEMENT_TYPE_UNSPECIFIED"
writeDisposition: "WRITE_EMPTY"
}
}
jobName: {3}
jobStatistics: {3}
jobStatus: {
additionalErrors: [1]
error: {
code: 11
message: "Cannot set destination table in jobs with DDL statements"
}
state: "DONE"
}
}
}
}

【问题讨论】:

  • 如果您之前运行 terraform plan 是否会显示 BQ 作业将被运行?您的 terraform 是否还具有运行该作业的正确权限?
  • 除了@Beembo 的评论,您还可以提供您从云日志记录中得到的实际错误消息吗?
  • 我的云日志-job_type: "create_table" } query: { createDisposition: "CREATE_IF_NEEDED" defaultDataset: {0} destinationTable: {3} query: "CREATE TABLE t-12-vm.shop45_dataset.user_data AS SELECT first_name, last_name, email,FROM t-12-vm.shop45_dataset.shop_data" queryPriority: "QUERY_INTERACTIVE" statementType: "QUERY_STATEMENT_TYPE_UNSPECIFIED" writeDisposition: "WRITE_EMPTY" } } jobName: {3} jobStatistics: {3} jobStatus: { additionalErrors: [1] error: { code: 11 message: "Cannot set destination table in jobs with DDL statements" } state: "DONE" } } } }

标签: google-cloud-platform google-bigquery terraform terraform-provider-gcp


【解决方案1】:

不要设置destination_table 属性。它与查询冲突。

或者,从query 中删除CREATE TABLE AS 并允许结果进入目标表并显式管理DDL 部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-15
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    • 2020-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多