我的集群上安装了 Spark2.3,这是我运行时的输出spark2-shell
:
> Spark context available as 'sc' (master = yarn, app id =
> application_1549677994084_2179). Spark session available as 'spark'.
> Welcome to
> ____ __
> / __/__ ___ _____/ /__
> _\ \/ _ \/ _ `/ __/ '_/ /___/ .__/\_,_/_/ /_/\_\ version 2.3.0.cloudera3
> /_/
>
> Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java
> 1.8.0_121)
和错误在这里:
> scala> val spark = new SparkSession.builder().getOrCreate()
> <console>:25: error: not found: value SparkSession
> val spark = new SparkSession.builder().getOrCreate()
> ^
然后我按如下方式导入 SparkSession:
scala> import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.SparkSession
scala> val spark = new SparkSession.builder().getOrCreate()
<console>:26: error: type builder is not a member of object org.apache.spark.sql.SparkSession
val spark = new SparkSession.builder().getOrCreate()
^
scala>
它与
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
scala> val sqlContext = new org.apache.spark.sql.SQLContext(sc)
warning: there was one deprecation warning; re-run with -deprecation for details
sqlContext: org.apache.spark.sql.SQLContext = org.apache.spark.sql.SQLContext@7a364e1c
为什么 SparkSession 在这里不适用于 Spark2?
谢谢你。
在 Spark shell 中,您应该使用 Scala,这将是
val spark = SparkSession.builder.appName("Simple Application").getOrCreate()
在 SparkSession 之前没有新的。
你可以试试这个例子Self Contained Applications
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句