大查询在加载作业上抛出无效错误

时间:2013-06-01 00:13:34

标签: google-bigquery

我有一个定期计划的加载作业,每小时运行并通过json数据格式将数据导入bigQuery。这个过程已经好几个月了,现在突然间bigQuery已经开始抛弃关于缺少必填字段的错误。

当然,我做的第一件事就是检查我的模式并与其中一个JSON文件进行比较,确实存在所有必需字段。 Bigquery并没有提供太多信息,我已经检查并重新检查了我的数据20次,因为我经常遗漏一些东西。

这是一个后端问题吗?或者格式化要求已经改变了?一个完美的例子是JOB# job_2ee5a4be176c421985d7c3eaa84abf4b 。它告诉我“缺少必填字段”,其中我的架构中只有4个 - 我检查了我的JSON这个特定的工作,他们都是那里。

任何关于此的灯光都会非常有用,感谢提前!!

json的一个示例,我的架构中只需要前4个字段,它们都在那里!我还进行了双重检查以确保json中没有额外的字段,并且每个json都在新行等上。:

{"date":"2013-05-31 20:56:41","sdate":1370033801,"type":"0","act":"1","cid":"139","chain":"5156","hotel":"21441","template":"default","arrival":"2013-08-04 00:00:00","depart":"2013-08-05 00:00:00","window":"64","nights":"1","total":"0.0000","dailyrate":"0.0000","session":"1530894334","source":"google","keyword":"the carolina hotel chapel hill nc","campaign":"organic","medium":"organic","visits":"2","device":"pc","language":"en-us","ip":"gc.synxis.com","cookies":"2","base_total":"0.0000","base_rate":"0.0000","batch":"batch_1370045767"}

1 个答案:

答案 0 :(得分:1)

我是Google工程师,负责BigQuery工作。抱歉,添麻烦了;您似乎缺少名为RECORD的必填currencies字段。

由于存在错误,旧代码似乎接受了这一点。它创建了空的RECORD字段,即使未在JSON中指定了一个字段。因此,可以省略RECORD REQUIRED字段而不会触发错误。但是,正确的行为是触发错误,这是当前代码所做的。

遗憾的是,错误消息并未告诉您缺少哪个必填字段。这是当前版本代码中的TODO。