据我所知,Apache spark 要求 json 文件在一个字符串中有一个记录。我有一个像这样按字段拆分的 json 文件:
{"id": 123,
"name": "Aaron",
"city": {
"id" : 1,
"title": "Berlin"
}}
{"id": 125,
"name": "Bernard",
"city": {
"id" : 2,
"title": "Paris"
}}
{...many more lines
...}
我如何使用 Spark 解析它?我需要预处理器还是可以提供自定义拆分器?
最佳答案
Spark 使用换行符来区分记录。这意味着当使用标准的 json 阅读器时,您需要每行一条记录。
您可以通过执行此答案中类似的操作来转换:https://stackoverflow.com/a/30452120/1547734
基本思想是读取整个 TextFiles,然后将其加载到 json 阅读器,该阅读器将对其进行解析并将结果平面化。
当然,这是假设文件足够大,可以在内存中一次解析一个文件。否则,您将需要更复杂的解决方案。
关于json - Apache spark 解析带有拆分记录的 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42478932/