首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >云数据仓库中使用Wrangler将Avro文件转换为JSON

云数据仓库中使用Wrangler将Avro文件转换为JSON
EN

Stack Overflow用户
提问于 2020-08-31 11:02:36
回答 1查看 545关注 0票数 1

我尝试读取一个Avro文件,使用Wrangler进行基本转换(用name =Ben删除记录),并将结果作为JSON文件写入google云存储中。Avro文件有以下模式:

{“类型”:“记录”、“名称”:"etlSchemaBody“、”字段“:{ "type":"string”、"name":"name“}

wrangler中的转换如下:转型

以下是JSON文件的输出模式:输出模式

当我运行管道时,它成功运行,JSON文件是在云存储中创建的。但是JSON输出是空的。当尝试预览运行时,我得到以下消息:警告讯息

为什么gcloud存储中的JSON输出文件是空的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-01 15:06:26

当使用Wrangler进行转换时,GCS源的默认值是format: textbody: string (数据类型);但是,要正确地处理Wrangler中的Avro文件,您需要更改它,需要将格式设置为blob,体数据类型设置为bytes,如下所示:

在此之后,管道的预览应该生成输出记录。接下来您可以看到我的工作示例:

编辑:

您需要将format: blob和输出模式设置为body: bytes,如果您想在Wrangler中将该文件解析为Avro (如前所述),因为它需要二进制格式的文件内容。

另一方面,如果您只想应用过滤器(在Wrangler中),则可以执行以下操作:

  • 使用format: avro见img打开文件。
  • 根据您的Avro文件所具有的字段设置输出模式,在本例中是namestring数据类型的见img
  • 只在Wrangler上使用过滤器(此处不解析Avro ),见img

这样,您还可以获得所需的结果

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

https://stackoverflow.com/questions/63669583

复制
相关文章

相似问题

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