继上面实践了一些简单的读取文件,简单操作了SparkSQL的入口方法,但是要知道之前的方法都是已经过时了的方法,是Spark1.x中使用的,而最新的2.x版本使用SparkSession作为SparkSQL的入口函数
接下来我们通过简单的代码来在集群操作测试
定义
基本的使用格式:
val spark = SparkSession
.builder()
.appName("Spark SQL basic example")
.config("spark.some.config.option", "some-value")
.getOrCreate()
测试
了解了基本的定义格式,我们接下来还是以之前的json
文件进行测试:
在项目中新建一个SparkSessionApp
,注意是新建的scala class
选择object
类型
代码如下:
/**
* SparkSession的使用
*/
object SparkSessionApp {
def main(args: Array[String]): Unit = {
val spark = SparkSession
.builder()
.appName("SparkSessionApp")
.getOrCreate()
val people = spark.read.format("json").load("file:///usr/local/spark/examples/src/main/resources/people.json")
people.show()
spark.stop()
}
}
具体的config
参数后面详细介绍,我们先按照官网案例进行简单的输出,运行:
出错了,仔细查看错误信息
org.apache.spark.SparkException: A master URL must be set in your configuration
应该是必须指定master
直接在SparkSession
后加上.master(local[2])
再次运行:
成功输出!
参考:
http://spark.apache.org/docs/2.1.0/sql-programming-guide.html#starting-point-sparksession