常用命令

最近更新时间: 2026-03-13 09:03:00

操作命令描述
提交任务bin/spark-submit \
--class <main-class> \
--master <master-url> \
--deploy-mode <deploy-mode> \
--conf <key>=<value> \
... # other options
<application-jar> \
[application-arguments]
  • --class:应用程序的入口(如:org.apache.spark.examples.SparkPi)。
  • --master:集群的master URL(如:spark://23.195.26.187:7077)。
  • --deploy-mode:cluster表示driver位于集群内部,client表示driver位于本地(默认 client)。
  • --conf:key=value格式的任意Spark配置属性。对于包含空格的值,用引号将 "key=value"包起来。多个配置应作为单独参数传递。(如:--conf <key>=<value> --conf <key2>=<value2>)
  • application-jar:包含应用程序和所有依赖项的捆绑 jar 路径。该URL必须在集群内全局可见,例如,一个 hdfs:// 路径或所有节点上都有的 file:// 路径。对于Python应用程序,只需用 .py 文件代替 application-jar,并用 --py-files 将 Python .zip、.egg 或 .py 文件添加到搜索路径。
  • application-arguments:传递给主类main方法的参数(如果有的话)
交互式命令bin/spark-shell [options]options 说明如下:
  • --master MASTER_URL:spark://host:port、mesos://host:port、yarn、k8s://host:port或local(默认值:local[*])。
  • --deploy-mode DEPLOY_MODE:是否在本地启动driver程序("client")或在集群内的一个工作节点上启动("cluster")(默认值:client)
  • --class CLASS_NAME:应用程序的主类(适用于Java/Scala应用程序)。
  • --jars JARS:要包含在driver和executor类路径中的以逗号分隔的jar文件列表。
  • --packages:要包含在driver和executor类路径中的以逗号分隔的jar文件的Maven坐标列表。将搜索本地Maven仓库,然后是Maven中央仓库和通过--repositories指定的任何其他远程仓库。坐标的格式应为groupId:artifactId:version。
  • --exclude-packages:要在解析--packages中提供的依赖项时排除的以逗号分隔的groupId:artifactId列表,以避免依赖冲突。
  • --repositories:要搜索与--packages给定的Maven坐标对应的其他远程仓库的以逗号分隔的列表。
  • --py-files PY_FILES:要放置在PYTHONPATH上的以逗号分隔的.zip、.egg或.py文件列表(适用于Python应用程序)。
  • --files FILES:要放置在每个executor工作目录中的以逗号分隔的文件列表。可以通过SparkFiles.get(fileName)在执行程序中访问这些文件的文件路径。
  • --archives ARCHIVES:要解压缩到每个executor工作目录中的以逗号分隔的存档文件列表。
  • --conf, -c PROP=VALUE:任意的Spark配置属性。
  • --properties-file FILE:加载额外属性的文件路径。如果未指定,则会查找 conf/spark-defaults.conf。
  • --driver-memory MEM:driver的内存。
  • --driver-java-options:传递给driver的额外Java选项。
  • --driver-library-path:传递给driver的额外库路径条目。
  • --driver-classpath:传递给driver的额外类路径条目。注意,使用--jars添加的 jar 文件会自动包含在类路径中。
  • --executor-memory MEM:每个executor的内存。
  • --proxy-user NAME:提交应用程序时要模拟的用户。此参数与--principal / --keytab不兼容。
bin/pyspark [options]
bin/spark-sql [options] [cli options]cli options 说明如下:
  • -d,--define <key=value>:对 Hive 命令应用的变量替换。如:-d A=B 或 --define A=B。
  • --database <databasename>:指定要使用的数据库。
  • -e <quoted-query-string>:命令行中的 SQL 查询语句。
  • -f <filename>:来自文件的 SQL 查询语句。
  • --hiveconf <property=value>:使用给定属性的值。
  • --hivevar <key=value>:对 Hive 命令应用的变量替换。如:--hivevar A=B。
  • -i <filename>:初始化 SQL 文件。
  • -S,--silent:交互式 shell 中的静默模式。
  • -v,--verbose:详细模式(将执行的 SQL 输出到控制台)。