将 GCP AssetInventory 加载到 BigTable 的最佳方式
Best way to load GCP AssetInventory into BigTable
资产清单已在 JSON 中导出到 Cloud Storage。我想将这些数据加载到 BigTable 中,但我不确定最好的方法是什么。
我认为管道看起来像云存储 > ETL 到 CSV/sequence 文件 > 使用 DataFlow 加载到 BigTable。
将 JSON 云存储数据加载到 BigTable 有哪些选项?
由于 JSON 和 Bigtable 都非常灵活和无定形,因此两者之间没有 pre-packaged 转换。 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
资产清单已在 JSON 中导出到 Cloud Storage。我想将这些数据加载到 BigTable 中,但我不确定最好的方法是什么。
我认为管道看起来像云存储 > ETL 到 CSV/sequence 文件 > 使用 DataFlow 加载到 BigTable。
将 JSON 云存储数据加载到 BigTable 有哪些选项?
由于 JSON 和 Bigtable 都非常灵活和无定形,因此两者之间没有 pre-packaged 转换。 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