
# Spark client CLI介绍
Spark CLI详细的使用方法参考官方网站的描述：<https://archive.apache.org/dist/spark/docs/3.3.1/quick-start.html>。
#### 常用CLI
Spark常用的CLI如下所示：
- *spark-shell*
  提供了一个简单学习API的方法，类似于交互式数据分析的工具。同时支持Scala和Python两种语言。在Spark目录下，执行*./bin/spark-shell*即可进入Scala交互式界面从HDFS中获取数据，再操作RDD。
  示例：一行代码可以实现统计一个文件中所有单词。
  *scala> sc.textFile("hdfs://10.96.1.57:9000//wordcount_data.txt").flatMap(l => l.split(" ")).map(w => (w,1)).reduceByKey(_+_).collect()*
  
- *spark-submit*
  用于提交Spark应用到Spark集群中运行，返回运行结果。需要指定class、master、jar包以及入参。
  示例：执行jar包中的GroupByTest例子，入参为4个，指定集群运行模式是local单核运行。
  ***./bin/spark-submit --class org.apache.spark.examples.GroupByTest --master local\[1\] examples/jars/spark-examples_2.12-3.1.1-hw-ei-311001.jar 6 10 10 3***
  
- *spark-sql*
  可用于local模式或者集群模式运行Hive元数据服务以及命令行查询。如果需要查看其逻辑计划，只需在SQL语句前面加上explain extended即可。
  示例：
  *Select key from src group by key*
  
- *run-example*
  用来运行或者调试Spark开源社区中的自带的example。
  示例：执行SparkPi。
  *./run-example SparkPi 100*
  
 
