Google bigquery 如何将AVRO文件中的整数值加载到bigquery中的日期列?

Google bigquery 如何将AVRO文件中的整数值加载到bigquery中的日期列?,google-bigquery,avro,Google Bigquery,Avro,我指的是一个类似的职位,我觉得非常有用。它展示了如何将avro文件中的整数列加载到包含时间戳字段的BigQuery表中。 我有一个类似的问题。有没有办法将avro文件中的整数值加载到bigquery中的日期列 由于avro不支持日期数据类型,我尝试在avro中将日期保留为字符串字段,并尝试将其加载到BigQuery的日期字段中。但这是行不通的 如果我知道BigQuery如何在内部存储日期,也许我可以尝试将日期转换为该值,然后将其加载到BQ 有什么建议吗?不可能直接将整型列从Avro加载到Big

我指的是一个类似的职位,我觉得非常有用。它展示了如何将avro文件中的整数列加载到包含时间戳字段的BigQuery表中。

我有一个类似的问题。有没有办法将avro文件中的整数值加载到bigquery中的日期列

由于avro不支持日期数据类型,我尝试在avro中将日期保留为字符串字段,并尝试将其加载到BigQuery的日期字段中。但这是行不通的

如果我知道BigQuery如何在内部存储日期,也许我可以尝试将日期转换为该值,然后将其加载到BQ


有什么建议吗?

不可能直接将整型列从Avro加载到BigQuery的
DATE
列中。您可以将Avro文件加载到包含整数列的中间表中,然后运行SQL查询,使用UNIX中的
DATE\u DATE
函数()将该整数转换为
DATE
,如果您不介意尝试的话。

…如果加载的Avro文件的整数值为,例如,
1
2
,会发生什么,和
17311
?如果这不起作用,一个选项是让您的表将日期存储为自Unix纪元起的日期(以天为单位),然后使用
DATE\u FROM\u Unix\u DATE
函数作为逻辑视图的一部分。您好,感谢您的回复。这是我创建的表。它有两列。一个日期和一个整数。我的输入文件是一个简单的csv文件,包含两列“17167,1”。当我尝试将此文件加载到表中时,出现以下错误。bq load--format=csv rohan.temp_date dt.txt-文件-00000000:无法将“17167”解析为从位置0开始的字段dt(位置0)的日期最后一个选项是,我可以尝试将日期作为字符串加载,并将其转换为视图中的日期。我的意思是加载包含这些整数值的Avro文件,而不是csv文件。如果Avro选项不起作用,那么逻辑视图可能是您的最佳选择。@ElliottBrossard我尝试加载一个Avro文件,该文件在GCS的BigQuery中具有“int”类型,但出现以下错误-“无法读取tablet:不兼容的类型。'day':INT64'day':INT32”。在Avro中,模式是定义为“int”还是“long”似乎无关紧要,BigQuery似乎将其解释为int64。是否有计划解决此问题?这将使规范化输入以提供给BigQuery变得更加容易