有没有办法避免数据类型从字符串到结构<字符串字符串、文本字符串、提供的字符串>用于数据存储导入 BigQuery?



我们每天都会自动将数据存储备份加载到BigQuery中进行进一步分析,覆盖该表。

在BigQuery中导入至少包含一个长文本实体的Datastore Kind时,该字段会自动转换为STRUCT<string STRING, text STRING, provided STRING>字段,而不是像所有其他文本/字符串字段一样转换为STRING字段。然后,这将更改BigQuery表的模式,并使任何进一步的处理或分析变得非常困难,因为需要对查询进行调整以考虑到这一点。我们无法控制数据存储端的文本长度,因此我们需要找到一种方法来至少稳定BigQuery端的模式。

你知道如何优雅地处理这个问题吗?

有什么办法可以避免这种转换,这样BigQuery表的模式就不会改变?

在BigQuery中无法从数据存储导出中将架构设置为加载作业。这意味着模式将始终从数据中推断出来。例如,如果你试图通过UI加载它,你会看到一条消息,上面写着

Source file defines the schema

在这个链接中,您可以找到Datastore和BigQuery之间的类型转换是如何工作的。

尝试使用视图作为最终表,或者创建一个计划查询以在加载表时读取表,并将结果保存在具有正确架构的另一个表中。

相关内容

最新更新