首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何批量加载其他来源生成的自定义Avro数据?

如何批量加载其他来源生成的自定义Avro数据?
EN

Stack Overflow用户
提问于 2018-08-14 22:45:57
回答 2查看 787关注 0票数 2

云Spanner文档说Spanner可以导出/导入Avro格式。此路径是否也可用于批量摄取从其他来源生成的Avro数据?文档似乎表明它只能导入也是由扳手生成的Avro数据。

我运行了一个快速导出作业,并查看了生成的文件。清单和模式看起来非常简单。我想我应该在这里发帖,以防这个兔子洞很深。

清单文件

代码语言:javascript
复制
{
  "files": [{
    "name": "people.avro-00000-of-00001",
    "md5": "HsMZeZFnKd06MVkmiG42Ag=="
  }]
}

架构文件

代码语言:javascript
复制
{
  "tables": [{
    "name": "people",
    "manifestFile": "people-manifest.json"
  }]
}

数据文件

代码语言:javascript
复制
    {"type":"record",
    "name":"people",
    "namespace":
    "spannerexport","
    fields":[
{"name":"fullName",
"type":["null","string"],
"sqlType":"STRING(MAX)"},{"name":"memberId",
"type":"long",
"sqlType":"INT64"}
],
    "googleStorage":"CloudSpanner",
    "spannerPrimaryKey":"`memberId` ASC",
    "spannerParent":"",
    "spannerPrimaryKey_0":"`memberId` ASC",
    "googleFormatVersion":"1.0.0"}    
EN

回答 2

Stack Overflow用户

发布于 2018-08-15 01:14:16

对你的问题的回答是肯定的!有两种方法可以将Avro数据摄入到Cloud Spanner中。

方法1

如果您将Avro文件放置在按照Cloud Spanner导出操作排列的Google Cloud Storage存储桶中,并按照Cloud Spanner期望的格式生成清单,则在Cloud Spanner的web界面中使用导入功能将起作用。显然,这里可能有很多繁琐的格式化工作,这就是为什么the official documentation声明这个“导入过程只支持从云扳手导出的Avro文件”。

方法2

与其使用Cloud Spanner web控制台执行导入/导出作业,并依赖Avro清单和数据文件进行完美格式化,不如稍微修改Google Cloud Platform用户下GitHub上两个公共代码存储库中的代码,这两个公共代码仓库提供导入/导出(或备份/恢复或导出/摄取)功能,用于将数据从Avro格式移动到Google Cloud Spanner:(1) Dataflow Templates,特别是this file (2) Pontem,特别是this file

这两个工具都编写了数据流作业,允许您使用Avro格式将数据移入和移出Cloud Spanner。每种方法都有特定的方法来解析输入的Avro模式(即,将数据从Avro移动到Cloud Spanner)。由于您的用例是输入的(即,将数据注入Avro格式的Cloud Spanner ),因此您需要修改Avro解析代码以适合您的特定模式,然后在您的机器上本地从命令行执行Cloud Dataflow作业(该作业随后被上传到Google Cloud Platform)。

如果您不熟悉Cloud Dataflow,那么它是一个用于定义和运行大数据集作业的工具。

票数 4
EN

Stack Overflow用户

发布于 2018-08-27 21:14:41

正如文档中明确指出的那样,导入只支持最初从扳手1导出的Avro文件,为此,我提出了一个功能请求,您可以跟踪here

1 https://cloud.google.com/spanner/docs/import

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51844144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档