本文目录一览:
- 1、SparkSession可以替代SparkContext么
- 2、spark创建SparkSession
- 3、如何在Apache Spark 2.0中使用SparkSession
- 4、spark scala算子内部引用sparkSession属性为空
SparkSession可以替代SparkContext么
SparkSession就是设计出来合并SparkContext和SQLContext的。我建议能用SparkSession就尽量用。如果发现有些API不在SparkSession中,你还是可以通过SparkSession来拿到SparkContext和SQLContex的。
spark创建SparkSession
SparkSession 是 spark2.0 引入sparksession服务的概念sparksession服务,可以代替 SparkContext,SparkSession 内部封装sparksession服务了 SQLContext 和 HiveContext,使用更方便。
官方例子:
如何在Apache Spark 2.0中使用SparkSession
在Sparksparksession服务的早期版本sparksession服务,sparkContext是进入Spark的切入点。我们都知道RDD是Spark中重要的API,然而它的创建和操作得使用sparkContext提供的APIsparksession服务;对于RDD之外的其他东西,我们需要使用其他的Context。比如对于流处理来说,我们得使用StreamingContextsparksession服务;对于SQL得使用sqlContextsparksession服务;而对于hive得使用HiveContext。
spark scala算子内部引用sparkSession属性为空
在eclipse中,依次选择逗File地 –逗New地 – 逗Other…地 – 逗Scala Wizard地 – 逗Scala Project地,创建一个Scala工程,并命名为逗SparkScala地。
右击逗SaprkScala地工程,选择逗Properties地,在弹出的框中,按照下图所示,依次选择逗Java Build Path地 –逗Libraties地 –逗Add External JARs…地,导入文章逗Apache Spark:将Spark部署到Hadoop 2.2.0上地中给出的
assembly/target/scala-2.9.3/目录下的spark-assembly-0.8.1-incubating- hadoop2.2.0.jar,这个jar包也可以自己编译spark生成,放在spark目录下的assembly/target/scala- 2.9.3/目录中。