Загрузка хранилища данных в BigQuery с повторяющимися полями StructuredProperty - PullRequest
0 голосов
/ 24 января 2019

Есть ли лучший способ загружать и запрашивать повторяющиеся структуры из хранилища данных, которые могут содержать значения 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?

...