我创建了一个作业,在terraform中在云中运行查询,它运行成功,但在云中没有完成。biquery.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"
}
}
}
}
不要设置destination_table
属性。它与查询冲突。
或者,从query
中删除CREATE TABLE AS
,并允许结果落在目标表中,并显式管理DDL部分。