用梁读Json

时间:2018-05-14 13:52:41

标签: java json apache beam

是否可以阅读" Json"使用Apache Beam?

实际上,我正在使用TextIO.read()读取文本文件并将结果存储到PCollection中。

我想知道是否可以读取Json文件并将其存储在PCollection中,而不会进行多次传输,而这些传输不会非常优化。

由于

1 个答案:

答案 0 :(得分:0)

一种方法是为你的beam reader对象定义一个json编码器/解码器:

class JsonCoder(object):    
    """A JSON coder interpreting each line as a JSON string."""
    def encode(self, x):
        return json.dumps(x)

    def decode(self, x):
        return json.loads(x)

filename = 'data.json'

with beam.Pipeline() as p:
    read_data = p | beam.io.ReadFromText(filename,coder=JsonCoder())
...