无法使用spark将json文件转换为镶木地板

时间:2016-01-11 11:06:43

标签: json scala apache-spark parquet

我正在使用spark 1.6.0。我有一个json文件。它在下面给出。

{"id" : "1201", "name" : "shamir", "age" : "25"}

我正在尝试将其转换为镶木地板。以下是我的代码。

val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext.implicits._
import sqlContext.sql
val employee = sqlContext.read.json("emp.json")
employee.write.parquet("employee.parquet")

我收到了一个巨大的错误。我做错了什么?

这是我得到的错误。 enter image description here

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:0)

没有错误消息,几乎无法回答,但以下两行应该有效(在Spark 1.5.2上测试):

val employee = sqlContext.jsonFile("emp.json")
employee.saveAsParquetFile("employee.parquet")
//Equivalent to :
employee.write.format("parquet").mode(SaveMode.ErrorIfExists).save("employee.parquet")

如果没有,则可能是系统配置或输出路径可访问性的问题。

请注意,employee.write.parquet("employee.parquet")相当于employee.write.format("parquet").save("employee.parquet")

答案 1 :(得分:0)

在保存之前尝试合并到更少的分区

employee.coalesce(numPartitions).write.mode(SaveMode.Overwrite).parquet("employee.parquet")