学习 Spark 2(一):SparkSession

SparkSession 是 Spark 2.0 代替 SparkContext 和 HiveContext,DataFrame 和 Dataset API 新的入口点:

创建 SparkSession

val spark = SparkSession.builder()  
    .appName("app")
    .master("yarn")  // 配置 Spark master URL
    .enableHiveSupport()  // 启动 Hive 支持,连接到 Hive 元数据,支持 Hive SerDe 和 Hive UDFs
    .getOrCreate()

获取 SparkContext 实例:

spark.sparkContext  

获取 SQLContext 实例:

spark.sqlContext  

日志级别

本地测试:

spark.sparkContext.setLogLevel("DEBUG")  

部署线上:

spark.sparkContext.setLogLevel("WARN")  

History Server

启动 Spark 应用事件日志:

val spark = SparkSession.builder()  
    .appName("app")
    .master("yarn")
    .config("spark.eventLog.enabled", true)
    .config("spark.eventLog.dir", "<spark.history.fs.logDirectory>")
    .getOrCreate()

属性 spark.eventLog.enabled 设为 true,启动事件日志

属性 spark.eventLog.dir 设置日志 HDFS 目录,与 Spark 配置 spark.history.fs.logDirectory 保持一致