abh*_*800 3 text json scala apache-spark
我有一个包含 JSON 数据的文本文件,如下所示:
{
"element" : value,
"id" : value,
"total" : []
}
{
"element" : value,
"id" : value,
"total: []
}
Run Code Online (Sandbox Code Playgroud)
所有 JSON 都以新行分隔。
我正在尝试将所有文本文件数据加载到临时视图中:
sqlContext.read.textFiles("/path").createOrReplaceTempView("result")
val data = sqlContext.sql("select * from result").collect()
Run Code Online (Sandbox Code Playgroud)
结果:
[{"element" : value,"id" : value,"total" : [] }]
[{"element" : value,"id" : value, "total" : []}]
Run Code Online (Sandbox Code Playgroud)
我需要提取 id 和与之相关的总数。
有没有办法在火花中处理这个?
对于 Spark SQL,每一行都必须包含一个单独的、自包含的有效 JSON,否则计算会失败。
不过你可以试试这个
spark.read.json(spark.sparkContext.wholeTextFiles("path to json").values)
Run Code Online (Sandbox Code Playgroud)
或者
spark.read.option("wholeFile", true).option("mode", "PERMISSIVE").json("path to json")
Run Code Online (Sandbox Code Playgroud)
这应该将 json 转换为数据帧。