Java新手在这里。我正在努力了解如何在Apache Beam管道中使用ParseJsons将字符串PCollection解析为对象PCollection。
我的理解是,我需要首先定义一个与json结构匹配的类,然后使用ParseJsons将json字符串映射到该类的对象中。
但是,ParseJsons文档对我来说似乎很神秘。我不确定如何使用Apache Beam实际执行转换。有人可以给我一个简单而又肮脏的例子来说明如何解析行分隔的json字符串吗?
这是我所做的尝试之一,但不幸的是语法不正确。
class Product {
private String name = null;
private String url = null;
}
p.apply("ReadLines", TextIO.read().from(options.getInputFile()))
.apply(new ParseJsons.of(Product))
.apply("WriteCounts", TextIO.write().to(options.getOutput()));
最佳答案
我想你要:
PCollectoion<Product> =
p.apply("ReadLines", TextIO.read().from(options.getInputFile()))
.apply(new ParseJsons.of(Product.class))
.setCoder(SerializableCoder.of(MyPojo.class));