是否可以阅读" Json"使用Apache Beam?
实际上,我正在使用TextIO.read()读取文本文件并将结果存储到PCollection中。
我想知道是否可以读取Json文件并将其存储在PCollection中,而不会进行多次传输,而这些传输不会非常优化。
由于
答案 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())
...