【发布时间】:2019-05-06 07:17:23
【问题描述】:
我正在尝试通过 python 中的 apache Beam 读取 JSON 文件并对其应用一些数据质量规则。 目前我正在使用 beam.io.ReadFromText 读取每个 json 行并使用一些函数来修改数据。 读取 JSON 数据并修改它们的更好方法是什么?
(p
| 'Getdata' >> beam.io.ReadFromText(input)
| 'filter_name' >> beam.FlatMap(lambda line: dq_name(line))
| 'filter_phone' >> beam.FlatMap(lambda line: dq_phone(line))
| 'filter_zip' >> beam.FlatMap(lambda line: dq_zip(line))
| 'filter_address' >> beam.FlatMap(lambda line: dq_city(line))
| 'filter_website' >> beam.FlatMap(lambda line: dq_website(line))
| 'write' >> beam.io.WriteToText(output_prefix) )
注意:我对此很陌生,如果我目前的方法看起来太粗制滥造,我很抱歉。
【问题讨论】:
-
你到底在问什么?你目前的方法有什么特别的问题吗?
-
我不知道我必须将 json 转换为 ndjson,所以在读取每一行时我无法理解如何读取整个 json 文件
标签: python google-cloud-platform google-cloud-dataflow apache-beam