我正在尝试使用 Parquet 文件格式来使用 Spark SQL。当我尝试基本示例时:
object parquet {
case class Person(name: String, age: Int)
def main(args: Array[String]) {
val sparkConf = new SparkConf().setMaster("local").setAppName("HdfsWordCount")
val sc = new SparkContext(sparkConf)
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
// createSchemaRDD is used to implicitly convert an RDD to a SchemaRDD.
import sqlContext.createSchemaRDD
val people = sc.textFile("C:/Users/pravesh.jain/Desktop/people/people.txt").map(_.split(",")).map(p => Person(p(0), p(1).trim.toInt))
people.saveAsParquetFile("C:/Users/pravesh.jain/Desktop/people/people.parquet")
val parquetFile = sqlContext.parquetFile("C:/Users/pravesh.jain/Desktop/people/people.parquet")
}
}
我得到一个空指针异常:
Exception in thread "main" java.lang.NullPointerException at org.apache.spark.parquet$.main(parquet.scala:16)
这是 saveAsParquetFile 行。这里有什么问题吗?
最佳答案
当我在 Windows 中的 eclipse 中使用 Spark 时,出现此错误。我在 Spark-Shell 上尝试了同样的方法,效果很好。我猜 Spark 可能无法 100% 兼容 Windows。
关于apache-spark - Spark SQL 中的 Parquet 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25505365/