我在BigQuery中运行一个作业,它根据SQL查询的结果创建一个新表。该作业是通过HTTP调用创建的:
{
"kind": "bigquery#job",
"etag": "\"RKD_ArsVTw2JJ2le9dUIQIRuBWo/THCPayJQXAazqZRGUmb8X3v83D4\"",
"id": "project_id:job_id",
"selfLink": "https://www.googleapis.com/bigquery/v2/projects/project_id/jobs/job_id",
"jobReference": {
"projectId": "project_id",
"jobId": "job_id"
},
"configuration": {
"query": {
"query": "SELECT * FROM dataset.Fact_Nos JOIN dataset.Dim_nos ON dataset.Fact_Nos.b_categorie = dataset.Dim_nos.b_categorie WHERE dataset.Fact_Nos.b_date < '2013-11-22T10:04:45.3' AND nostrum.Fact_Nos.b_date > '2013-11-22T09:57:21.2'",
"destinationTable": {
"projectId": "project_id",
"datasetId": "dataset",
"tableId": "MaSter"
},
"createDisposition": "CREATE_IF_NEEDED",
"writeDisposition": "WRITE_APPEND",
"defaultDataset": {
"datasetId": "dataset",
"projectId": "project_id"
},
"allowLargeResults": true
}
},
"status": {
"state": "RUNNING"
},
"statistics": {
"creationTime": "1385114039746",
"startTime": "1385114039888"
}
}
未创建表格,并且网页用户界面在查询的错误字段中显示“意外。请重试”。
这是SQL查询:
SELECT * FROM dataset.Fact_Nos JOIN dataset.Dim_nos ON dataset.Fact_Nos.b_categorie =
dataset.Dim_nos.b_categorie WHERE dataset.Fact_Nos.b_date < '2013-11-22T10:04:45.3' AND
nostrum.Fact_Nos.b_date > '2013-11-22T09:57:21.2'
查询在Web UI中运行得非常好。 HTTP调用响应为200,作业正常运行,直到完成为止。
有什么见解?错误字段没有说明任何有用的信息。
编辑:我还测试过将preserveNulls
字段添加到true
但未成功。
答案 0 :(得分:0)
您的WHERE子句将时间戳(b_date)与字符串进行比较,BigQuery不允许这样做。我建议在比较之前使用TIMESTAMP函数将这些字符串转换为时间戳。
有关详细信息,请参阅https://developers.google.com/bigquery/query-reference#datetimefunctions。
我们会调查一下,看看我们是否能找出错误消息没有显示给您的原因。