SparkSessionApp调试出错

来源:5-4 -C SparkSession的使用

jun_0120_cn

2017-11-15

import org.apache.spark.sql.SparkSession

/**
 * sparksession的使用
 */
object SparkSessionApp {
 def main(args: Array[String]): Unit = {
   val spark = SparkSession.builder().appName("SparkSessionApp").master("local[2]").getOrCreate();
   val people = spark.read.json("file:///E:/BaiduNetdiskDownload/data/test.json")
   people.show()
   spark.stop()

 }
}


pom.xml复制过来的。 

run时控制台报错:

17/11/15 10:45:09 INFO BlockManager: Initialized BlockManager: BlockManagerId(driver, 192.168.157.1, 54045, None)

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/parquet/hadoop/ParquetOutputCommitter

at org.apache.spark.sql.internal.SQLConf$.<init>(SQLConf.scala:243)

at org.apache.spark.sql.internal.SQLConf$.<clinit>(SQLConf.scala)

at org.apache.spark.sql.internal.StaticSQLConf$$anonfun$buildConf$1.apply(SQLConf.scala:930)

at org.apache.spark.sql.internal.StaticSQLConf$$anonfun$buildConf$1.apply(SQLConf.scala:928)

at org.apache.spark.internal.config.TypedConfigBuilder$$anonfun$createWithDefaultString$1.apply(ConfigBuilder.scala:139)

at org.apache.spark.internal.config.TypedConfigBuilder$$anonfun$createWithDefaultString$1.apply(ConfigBuilder.scala:139)

at scala.Option.foreach(Option.scala:257)

at org.apache.spark.internal.config.TypedConfigBuilder.createWithDefaultString(ConfigBuilder.scala:139)

at org.apache.spark.internal.config.TypedConfigBuilder.createWithDefault(ConfigBuilder.scala:122)

at org.apache.spark.sql.internal.StaticSQLConf$.<init>(SQLConf.scala:937)

at org.apache.spark.sql.internal.StaticSQLConf$.<clinit>(SQLConf.scala)

at org.apache.spark.sql.SparkSession$.org$apache$spark$sql$SparkSession$$sessionStateClassName(SparkSession.scala:962)

at org.apache.spark.sql.SparkSession.sessionState$lzycompute(SparkSession.scala:111)

at org.apache.spark.sql.SparkSession.sessionState(SparkSession.scala:109)

at org.apache.spark.sql.SparkSession$Builder$$anonfun$getOrCreate$5.apply(SparkSession.scala:878)

at org.apache.spark.sql.SparkSession$Builder$$anonfun$getOrCreate$5.apply(SparkSession.scala:878)

at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:99)

at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:99)

at scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:230)

at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:40)

at scala.collection.mutable.HashMap.foreach(HashMap.scala:99)

at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:878)

at com.***.SparkSessionApp$.main(SparkSessionApp.scala:9)

at com.***.SparkSessionApp.main(SparkSessionApp.scala)

Caused by: java.lang.ClassNotFoundException: org.apache.parquet.hadoop.ParquetOutputCommitter

at java.net.URLClassLoader$1.run(URLClassLoader.java:372)

at java.net.URLClassLoader$1.run(URLClassLoader.java:361)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:360)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

... 24 more


写回答

2回答

jun_0120_cn

提问者

2017-11-15

<dependency>
   <groupId>org.apache.parquet</groupId>
   <artifactId>parquet-hadoop</artifactId>
   <version>1.9.0</version>
</dependency>


加了一个这个,但不明白为什么需要?我用的是json格式read,并不是parquet

0
2
jun_0120_cn
依旧是这个错误
2017-11-16
共2条回复

Michael_PK

2017-11-15

根据提醒少了啥包,加到pom中去

0
0

以慕课网日志分析为例 进入大数据Spark SQL的世界

快速转型大数据:Hadoop,Hive,SparkSQL步步为赢

1644 学习 · 1129 问题

查看课程