Spark客户端使用 运行示例:SparkPi 使用Spark 自带示例程序验证集群可用性,在命令行中输入如下命令: plaintext sparksubmit master yarn deploymode client class org.apache.spark.examples.SparkPi $SPARKHOME/examples/jars/sparkexamples2.123.4.1.jar 100 执行成功后终端输出类似如下内容: plaintext Pi is roughly 3.1418599285819928 可通过yarn application list 查看 application 状态为 FINISHED: plaintext yarn application list appStates FINISHED sparkshell / pyspark 交互式环境 sparkshell 提供基于 Scala 的交互式编程环境,pyspark 提供基于 Python 的交互式环境,两者均在启动时自动创建 SparkSession(变量名 spark),适合交互式探索与调试。启动命令如下: plaintext sparkshell master yarn deploymode client pyspark master yarn deploymode client sparkshell 中执行 WordCount 示例: plaintext val text spark.read.textFile("/tmp/input.txt") val counts text.flatMap(line > line.split(" ")).groupBy("value").count() counts.show() pyspark 中执行简单 SQL 示例: plaintext df spark.createDataFrame([("a", 1), ("b", 2)], ["k", "v"]) df.createOrReplaceTempView("t") spark.sql("select k, sum(v) from t group by k").show() sparksql CLI Spark SQL CLI 是一个交互式命令行客户端工具,可以连接 Hive 元存储服务,并执行输入的 SQL。常用方式为通过 e 执行单条语句或 f 执行脚本文件: plaintext sparksql e "select count() from dbname.tablename" sparksql f /path/to/script.sql script.sql 为用户自建的SQL脚本文件 sparksql 的主要启动参数如下表所示(sparksql help 可查看完整列表,包含【options】与【cli option】两类,前者为 Spark 多客户端共用参数,后者为 Spark SQL CLI 独有参数): 参数 说明 e 直接执行一条SQL 语句 f 执行SQL 脚本文件 i 初始化脚本,进入交互模式前执行 hiveconf kv 设置Hive 上下文配置项 d 指定自定义资源目录 不带e 或 f 参数时,sparksql 进入交互式 shell 模式,以分号(;)分隔命令。输入 quit; 或 exit; 退出客户端。交互模式下的常用命令如下表所示: 命令 说明 quit; / exit; 退出客户端 use ; 切换数据库 show databases; / show tables; 查看库与表列表 describe ; 查看表结构 set ; 设置会话参数 add jar ; 添加依赖jar source ; 执行脚本文件 注意 sparksql 适合批量脚本与交互场景。本集群未部署 Spark ThriftServer,JDBC/Beeline 编程接入请统一使用 Kyuubi 服务(参见 Kyuubi 使用文档),通过 Beeline 连接 Kyuubi 的 JDBC 地址。