Лучший способ загрузить GCP AssetInventory в BigTable

Запасы активов экспортируются в облачное хранилище в формате JSON. Я хочу загрузить эти данные в BigTable, но не знаю, как лучше всего.

Я думаю, что конвейер будет выглядеть примерно так: «Облачное хранилище»> «ETL в файлы CSV/последовательности»> «Загрузить в BigTable с помощью DataFlow».

Какие есть варианты загрузки данных JSON Cloud Storage в BigTable?

Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
0
0
45
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Поскольку и JSON, и Bigtable настолько гибки и аморфны, между ними нет готовых преобразований. Google предоставляет все части, но вам нужно написать код, чтобы склеить их вместе. В частности, сопоставление документов JSON со столбцами и строками Bigtable должно выполняться с нуля.

  • Используйте клиент Cloud Asset [1] для экспорта ресурсов в GCS.

  • В зависимости от объема экспорта либо

    • создать задание потока данных, которое использует TextIO для чтения экспорта
    • или используйте клиент облачного хранилища [2] напрямую
  • Используйте вашу любимую библиотеку JSON для разбора каждой строки

  • Преобразуйте каждый объект JSON в мутацию Bigtable

  • Используйте приемник Dataflow BigtableIO[3] или клиент Bigtable [4] для записи данных в Bigtable.

[1] https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/libraries [2] https://cloud.google.com/storage/docs/reference/libraries [3] https://beam.apache.org/releases/javadoc/2.12.0/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.html [4] https://cloud.google.com/bigtable/docs/reference/libraries

Другие вопросы по теме