我正在查看数据流,以尝试将数据从数据存储区导出到Spanner。 Spanner似乎仅通过数据流连接器接受avro文件。我可以找到的唯一数据流模板是从数据存储到文本文件。并且数据存储区导出服务仅导出为levelDB格式。 任何线索都会有所帮助,谢谢!
答案 0 :(得分:3)
另一种可能的途径是从数据存储导出到BigQuery [1]。然后BigQuery可以将Avro文件导出到GCS [2],然后可以将其导入到Cloud Spanner [3]。
[1] https://cloud.google.com/bigquery/docs/loading-data-cloud-datastore
[2] https://cloud.google.com/bigquery/docs/exporting-data
[3] https://cloud.google.com/spanner/docs/import-non-spanner
答案 1 :(得分:1)
有一些从其他关系数据库(例如MySQL或PostgreSQL)迁移到Spanner的指南,但是如果您想将数据从NoSQL数据库(例如数据存储)迁移到关系数据库(例如Spanner),我找不到任何指南。
您可以尝试的一件事是数据流。数据流从数据存储读取(叉车或进行一些数据处理),然后使用SpannerIO写入Spanner。 I/O transforms。 Querying Datastore with Python可能还会给您一个想法。
答案 2 :(得分:0)
我最终得到的解决方案是将数据提取为csv,然后使用PySpark转换为Avro。最后将Dataflow插入Spanner。