Apache Beam中Pojo对象的默认编码器

时间:2019-02-18 01:46:53

标签: apache-beam apache-beam-io

根据Apache Beam文档,我可以找到特定于数据类型的编码器以及自定义编码器。通过向代码注册表进行注册,可以创建自定义编码器。但是我想知道是否有用于POJO / bean的编码器。例如,PCollection的编码器是什么

1 个答案:

答案 0 :(得分:1)

如果在项目中定义了POJO,请查看DefaultSchema。那里的示例正是您想要的,通过检查与JavaBean兼容的方法来注册模式(隐式注册编码器):

@DefaultSchema(JavaBeanSchema.class)
class MyClass {
  public String getFoo();
  void setFoo(String foo);
        ....
}

请注意,编码器用于集合的 elements ,因此没有用于PCollection的编码器。而是,PCollection可以具有一个编码器集,以确定各个元素如何序列化和反序列化。