使用重复的StructuredProperty字段将数据存储区加载到BigQuery中

时间:2019-01-24 20:40:59

标签: python google-app-engine google-bigquery google-cloud-datastore

是否有更好的方法从可能包含NULL值的数据存储区加载和查询重复的结构?例如,我的数据存储模型具有以下形状:

class Item(ndb.Model):
  name = ndb.StringProperty()
  value = ndb.StringProperty()

class Order(ndb.Model):
  items = ndb.StructuredProperty(Item, repeated=True)

,但是将数据加载到BigQuery后,Item中的每个属性都显示为单独的数组:

items RECORD NULLABLE
items.name STRING REPEATED
items.value STRING REPEATED

我想将数据拼合为项目名称和值的行。

问题是namevalue可能为NULL。并且bigquery会丢弃数组中的NULL值。这意味着两个数组中的值与索引位置不匹配。如果我尝试通过UNNEST(items.name) WITH OFFSET进行展平,则偏移位置不能用于获取每个value对应的name,因为会丢弃空值。

数据存储区中重复的StructuredProperty是否有可能在BigQuery中表示为结构数组?

0 个答案:

没有答案