是否有更好的方法从可能包含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
我想将数据拼合为项目名称和值的行。
问题是name
或value
可能为NULL。并且bigquery会丢弃数组中的NULL值。这意味着两个数组中的值与索引位置不匹配。如果我尝试通过UNNEST(items.name) WITH OFFSET
进行展平,则偏移位置不能用于获取每个value
对应的name
,因为会丢弃空值。
数据存储区中重复的StructuredProperty是否有可能在BigQuery中表示为结构数组?