2016-11-14 107 views
0

我想通过Apache Spark阅读示例Json文件,在此过程中,我观察到一件事是您需要将整个json对象保存为单行。如果我将整个json对象保存为单行,代码运行良好,否则会出现异常。通过Apache Spark读取json数据

这是我的JSON数据:

[ 
    { 
     "id": 2, 
     "name": "An ice sculpture", 
     "price": 12.50, 
     "tags": ["cold", "ice"], 
     "dimensions": { 
      "length": 7.0, 
      "width": 12.0, 
      "height": 9.5 
     }, 
     "warehouseLocation": { 
      "latitude": -78.75, 
      "longitude": 20.4 
     } 
    }, 
    { 
     "id": 3, 
     "name": "A blue mouse", 
     "price": 25.50, 
     "dimensions": { 
      "length": 3.1, 
      "width": 1.0, 
      "height": 1.0 
     }, 
     "warehouseLocation": { 
      "latitude": 54.4, 
      "longitude": -32.7 
     } 
    } 
] 

这是我的代码:

SparkSession session = new SparkSession.Builder().appName("JsonRead").master("local").getOrCreate(); 
     Dataset<Row> json = session.read().json("/Users/mac/Desktop/a.json"); 
     json.select("tags").show(); 

在小数据集的情况下,它的好,是任何其他方式处理大型数据集的JSON?

+0

你会得到什么例外? – MaxNevermind

+0

线程“main”中的异常org.apache.spark.sql.AnalysisException:无法解析给定输入列的'tags':[_corrupt_record]; – user4342532

回答