Я пытаюсь запустить проект хранилища данных, вот как я хотел бы, чтобы моя схема выглядела следующим образом:
таблица: схема события-журнала:
-> info
-> user_id: "xyz"
-> user_properties // <- I want this to be array like
-> 0
-> key: "name
-> value
-> int_value: null
-> string_value: "osp"
...
-> 1 // and it goes on
Проблема в том, что я нене знаю, как программно определить этот массив как структуру.
Я взял идею отсюда:
https://www.youtube.com/watch?v=pxNrkjBeHpw
вот мой код (kotlin с использованием java googleоблачная библиотека) пока:
val tableId = TableId.of(datasetName, tableName)
// First part, general field
val generalInfoFields = ArrayList<Field>()
generalInfoFields.add(Field.of("user_id", LegacySQLTypeName.STRING))
generalInfoFields.add(Field.of("user_properties", {ARRAY LIKE TYPE??}))
val general_info = Field.of("general_info", LegacySQLTypeName.RECORD, FieldList.of(generalInfoFields))
// Combine fields and create table
val tableSchema = Schema.of(general_info)
val tableDefinition = StandardTableDefinition.of(tableSchema)
val tableInfo = TableInfo.newBuilder(tableId, tableDefinition).build()
val table = bigquery.create(tableInfo)
log.info("dataset created " + dataset.datasetId.dataset)
Любая помощь будет принята с благодарностью