为之则易,不为则难
版本
- 版本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查询
- prompt
- SparkSQLCLIDriver类
- sessionState
- 【变量】获取客户端会话状态
- LOG
- 【变量】工厂类获取名为SparkSQLCLIDriver的LOG对象
- console
- 【变量】获取控制台工具类对象
- isRemoteMode
- 【变量】是否远程模式
- 不支持Hive是1.2以上,抛异常
- conf
- 【变量】从会话获取配置 或 新建一个配置对象
- setHiveVariables
- 【方法】sqlContext设置hive配置
- processCmd
- override【方法】处理命令行指令
- 见图解1
- sessionState
Spark源码笔记:ss001