源码篇:Spark SQL客户端Driver类|[Spark Source]

1,367 阅读1分钟

为之则易,不为则难

版本

  • 版本spark2.3.1 HDP
  • SparkSQLCLIDriver

图解1-processCmd

图解2-伴生对象main方法

总体结构

  • SparkSQLCLIDriver伴生对象
    • prompt
      • 【常量】"spark-sql"
    • continuedPrompt
      • 【变量】空格拼接
    • transport
      • 默认无
    • SPARK_HADOOP_PROP_PREFIX
      • 【常量】以spark.hadoop.开头
    • installSignalHandler
      • 【方法】注册一个关闭钩子,Ctrl+C触发
    • main主程序【方法】
      • 图解2
    • isRemoteMode
      • 【方法】判断是否是HiveServer查询
  • SparkSQLCLIDriver类
    • sessionState
      • 【变量】获取客户端会话状态
    • LOG
      • 【变量】工厂类获取名为SparkSQLCLIDriver的LOG对象
    • console
      • 【变量】获取控制台工具类对象
    • isRemoteMode
      • 【变量】是否远程模式
      • 不支持Hive是1.2以上,抛异常
    • conf
      • 【变量】从会话获取配置 或 新建一个配置对象
    • setHiveVariables
      • 【方法】sqlContext设置hive配置
    • processCmd
      • override【方法】处理命令行指令
      • 图解1

Spark源码笔记:ss001