更新时间:2024-10-23 GMT+08:00

Spark client CLI介绍

Spark CLI详细的使用方法参考官方网站的描述:http://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()

    您可以直接在命令行中指定Keytab和Principal以获取认证,定期更新登录票据和授权tokens,避免认证过期。示例如下:

    spark-shell --principal spark2x/hadoop.<系统域名>@<系统域名> --keytab ${BIGDATA_HOME}/FusionInsight_Spark2x_8.1.0.1/install/FusionInsight-Spark2x-3.1.1/keytab/spark2x/SparkResource/spark2x.keytab --master yarn

  • 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-SNAPSHOT.jar 6 10 10 3

    您可以直接在命令行中指定Keytab和Principal以获取认证,定期更新登录票据和授权tokens,避免认证过期。示例如下:

    spark-submit --class org.apache.spark.examples.GroupByTest --master yarn --principal spark2x/hadoop.<系统域名>@<系统域名> --keytab ${BIGDATA_HOME}/FusionInsight_Spark2x_8.1.0.1/install/FusionInsight-Spark2x-3.1.1/keytab/spark2x/SparkResource/spark2x.keytab examples/jars/spark-examples_2.12-3.1.1-hw-ei-311001-SNAPSHOT.jar 6 10 10 3

  • spark-sql

    可用于local模式或者集群模式运行Hive元数据服务以及命令行查询。如果需要查看其逻辑计划,只需在SQL语句前面加上explain extended即可。

    示例:

    Select key from src group by key

    您可以直接在命令行中指定Keytab和Principal以获取认证,定期更新登录票据和授权tokens,避免认证过期。示例如下:

    spark-sql --principal spark2x/hadoop.<系统域名>@<系统域名> --keytab ${BIGDATA_HOME}/FusionInsight_Spark2x_8.1.0.1/install/FusionInsight-Spark2x-3.1.1/keytab/spark2x/SparkResource/spark2x.keytab --master yarn

  • run-example

    用来运行或者调试Spark开源社区中的自带的example。

    示例:执行SparkPi。

    ./run-example SparkPi 100