Есть ли лучший способ загружать и запрашивать повторяющиеся структуры из хранилища данных, которые могут содержать значения 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
Iхотели бы объединить данные в строки с именами и значениями элементов.
Проблема в том, что name
или value
может иметь значение NULL.И bigquery отбрасывает значения NULL в массивах.Это означает, что значения в двух массивах не совпадают по позиции индекса.Если я пытаюсь сгладить с помощью UNNEST(items.name) WITH OFFSET
, положение смещения не может быть использовано для получения соответствующего value
для каждого name
, поскольку нулевые значения отбрасываются.
Возможно ли повторное использование StructuredProperty в хранилище данныхбыть представленным как массив структур в BigQuery?