【发布时间】:2020-01-03 23:34:36
【问题描述】:
我正在阅读 Spark 中的一些 json 文件,这些文件被 S3 上的 firehose 转储。不幸的是,这些文件没有被任何分隔符分隔。它看起来像这样:
[{"name": "abc", "age": 18},{"name": "pqr", "age": 19}][{"name": "xyz", "age": 20}]
这是一个 json 对象列表的列表。两个列表之间没有分隔符,因此 spark 无法解析它。它只返回第一个列表的 json 对象。 使用此代码:
val df = spark.read.json(path)
返回
-------------------------------
name | age
-------------------------------
abc | 18
-------------------------------
pqr | 19
-------------------------------
虽然,如果我手动更新文件以在单独的行上有列表,它工作正常。它可以读取所有 json 对象。但是,那是手动的。如何在 Spark 中实现同样的效果?
【问题讨论】:
标签: scala apache-spark apache-spark-sql