我正在尝试在IntelliJ IDEA中构建和运行Scala / Spark项目。
我添加org.apache.spark:spark-sql_2.11:2.0.0
了全局库,并且build.sbt
外观如下。
name := "test"
version := "1.0"
scalaVersion := "2.11.8"
libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "2.0.0"
libraryDependencies += "org.apache.spark" % "spark-sql_2.11" % "2.0.0"
我仍然收到错误消息
未知的伪像。无法解析或编制索引
在spark-sql
。
尝试构建项目时,错误是
错误:(19、26)未找到:类型sqlContext,val sqlContext = new sqlContext(sc)
我不知道可能是什么问题。如何在IntelliJ IDEA中创建Spark / Scala项目?
更新:按照建议,我更新了要使用的代码Spark Session
,但仍然无法读取csv文件。我在这里做错了什么?谢谢!
val spark = SparkSession
.builder()
.appName("Spark example")
.config("spark.some.config.option", "some value")
.getOrCreate()
import spark.implicits._
val testdf = spark.read.csv("/Users/H/Desktop/S_CR_IP_H.dat")
testdf.show() //it doesn't show anything
//pdf.select("DATE_KEY").show()
sql应该如下大写字母
val sqlContext = new SQLContext(sc)
SQLContext
不推荐使用新版本的spark,因此建议您使用 SparkSession
val spark = SparkSession.builder().appName("testings").getOrCreate
val sqlContext = spark.sqlContext
如果要master
通过代码而不是fromspark-submit
命令来设置.master
,则也可以进行设置(也可以进行设置configs
)
val spark = SparkSession.builder().appName("testings").master("local").config("configuration key", "configuration value").getOrCreate
val sqlContext = spark.sqlContext
更新资料
查看您的样本数据
DATE|PID|TYPE
8/03/2017|10199786|O
并测试您的代码
val testdf = spark.read.csv("/Users/H/Desktop/S_CR_IP_H.dat")
testdf.show()
我已经输出为
+--------------------+
| _c0|
+--------------------+
| DATE|PID|TYPE|
|8/03/2017|10199786|O|
+--------------------+
现在加入.option
的delimiter
和header
作为
val testdf2 = spark.read.option("delimiter", "|").option("header", true).csv("/Users/H/Desktop/S_CR_IP_H.dat")
testdf2.show()
输出原为
+---------+--------+----+
| DATE| PID|TYPE|
+---------+--------+----+
|8/03/2017|10199786| O|
+---------+--------+----+
注:我已经使用.master("local")
了SparkSession
对象
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句