Google BigQuery无法解析可以为空的第二个时间戳字段

时间:2013-12-16 22:03:53

标签: csv google-bigquery talend

我正在尝试使用CSV将大量数据导入平面表。在导入BigQuery报告期间:

- File: 0 / Line:6659 / Field:11: Could not parse '' as a timestamp

在架构中,我有2个时间戳:字段4和11。两者都可以为空。对于第二个时间戳,字段11上的行条目确实为空。

它应该像这样工作还是我需要将其发送为“0”?

2 个答案:

答案 0 :(得分:2)

请注意空值和空字符串之间的区别。上面复制的第6659行有空字符串,但不是空字符。

为了重现,我用这个模式创建了一个表:

[{"name":"a","type":"TIMESTAMP","mode":"NULLABLE"},
 {"name":"b","type":"TIMESTAMP","mode":"NULLABLE"}]

然后将此文件上传到它:

"",""

我收到此错误的地方:

File: 0 / Line:1 / Field:1, Could not parse '' as a timestamp

但如果我上传此文件:

,

一切正常,因为逗号周围有2个空值。

您可以转换所有文件,删除空字符串,或将这些列作为字符串导入BigQuery,然后在BigQuery中运行从字符串到时间戳的ETL。

答案 1 :(得分:1)

我有类似的问题

错误是

- File: 2 / Line:9940 / Field:13: Day 0-0-0 does not exist for
 timestamp: 0000-00-00 00:00:00

"9718470";"2769586jfghjkdf";"2015-08-03 15:57:28";"2015-08-03 16:10:10";"479";"128833308";"May 2015";"1461782";"ab_20150616";"1130567689";"69466";"emailid@hotmail.com";"0000-00-00 00:00:00";"2015-08-03 23:53:44"

第13个字段是我的BigQuery Schema中的TIMESTAMP,我发送了" 0000-00-00 00:00:00" 。 Big Query不接受" 0000-00-00 00:00:00"。

要解决这个问题,我发送

"9718470";"2769586jfghjkdf";"2015-08-03 15:57:28";"2015-08-03 16:10:10";"479";"128833308";"May 2015";"1461782";"ab_20150616";"1130567689";"69466";"emailid@hotmail.com";;"2015-08-03 23:53:44"   

总之,你必须发送" someValue&#34 ;;;" someOtherValue" 而不是 " someValue";" 0000-00-00 00:00:00&#34 ;;" someOtherValue或" someValue&#34 ;;"" ;" someOtherValue

请注意,我正在使用;作为分隔符。