Spark解析json

Posted Books&Coffee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark解析json相关的知识,希望对你有一定的参考价值。

----

import org.apache.spark.{SparkConf, SparkContext}

import scala.util.parsing.json.JSON

object JSONParse {
  def main(args: Array[String]): Unit = {
    val inputFileName = "file:///Users/walker/learn/mycode/spark/test_data/people.json"

    val conf = new SparkConf().setAppName("JSONParse").setMaster("local")
    val sc = new SparkContext(conf)
    val jsonStrRDD = sc.textFile(inputFileName)
    val parsedResult = jsonStrRDD.map(JSON.parseFull(_)) //jsonStrRDD.map(line => JSON.parseFull(line))
    parsedResult.foreach(
      r => r match {
//          解析成功,返回Some(map: Map[String,Any])
        case Some(map: Map[String,Any]) => println(map)
//          解析不成功,返回None
        case None => println("Parsing failed")
      }
    )
  }
}

 

原始json数据:

{"name":"Michael"}
{"name":"Andy", "age":30}
{"name":"Justin", "age":19}

{"name":"Justin", "age":19,hello}
{57657:12345, "age":19}

 

 

-----

以上是关于Spark解析json的主要内容,如果未能解决你的问题,请参考以下文章

Spark:如何从 Spark 数据帧行解析和转换 json 字符串

Spark 解析 JSON 仅包含数组和整数

避免在 Spark 中解析 json 子字段

Spark解析json

在 Scala / Spark 中将 JSON 结构解析为 JSON 对象

使用 spark 2.3 解析 json 数据