【发布时间】:2020-04-04 03:57:36
【问题描述】:
我正在 Apache Beam 中编写一个从 Pub/Sub 读取的数据管道,将消息反序列化为 JSONObjects 并将它们传递给其他一些管道阶段。问题是,当我尝试提交代码时,出现以下错误:
执行 Java 类时发生异常。无法返回默认编码器以转换为 JSON 并混淆 PII 数据/ParMultiDo(JSONifyAndObfuscate).output [PCollection]。纠正以下根本原因之一: [错误] 没有手动指定编码器;您可以使用 .setCoder() 来执行此操作。 [错误] 从 CoderRegistry 推断编码器失败:无法为 org.json.JSONObject 提供编码器。 [错误] 使用已注册的 CoderProvider 构建 Coder 失败。 [错误] 查看抑制的异常以了解详细的失败。 [错误] 使用生成 PTransform 的默认输出编码器失败:调用了 PTransform.getOutputCoder。
基本上错误说 Beam 找不到 org.json.JSONObject 对象的编码器。我不知道从哪里可以得到这样的编码器或如何构建一个。有什么想法吗?
谢谢!
【问题讨论】:
标签: google-cloud-dataflow apache-beam