我正在用python在Apache Beam
上构建一个管道,并使用Dataflow
上的笔记本进行原型设计。在尝试加载JSON时,我意识到我与beam.io.ReadFromText(file_pattern, coder=JsonCoder())
一起使用的JSON编码器(基本上是JSON.loads()
)没有规范化JSON。这意味着集合中的一些列只是作为字符串嵌套的JSON
因此,为了规范化JSON,我决定使用JsonPickle
。但是,即使在安装并重新启动内核之后,模块导入也不起作用。你能帮忙吗?另外,还有一种更好的方法可以规范化Apache Beam
世界上的JSON,请分享
您可以使用默认的编码器并使用后续的
ParDo
来规范化/格式化转换生成的元素,而不是更改提供给transformReadFromText
的编码器吗Coder
应被视为Beam runner序列化/反序列化转换生成的元素的一种方式。使用Coder
格式化转换生成的元素是一种反模式根据documentation,您需要像下面这样运行命令:
相关问题 更多 >
编程相关推荐