我正在使用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")
我收到了一个巨大的错误。我做错了什么?
答案 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")