首页/数据/数据工程与 ETL 速查/spark-sql 命令行与脚本执行
管道基础52 条

spark-sql 命令行与脚本执行

spark-sql 提供 SQL 交互与批脚本执行:-e 执行单条语句、-f 跑 SQL 文件,适合调度器直接拉起纯 SQL 加工任务。

交互spark-sql(进入交互式 shell)
批执行spark-sql -e "SQL" / spark-sql -f job.sql
附带配置spark-sql --conf k=v --database db

常用调用

常用调用
spark-sql -e "SELECT count(*) FROM dwd_order WHERE dt='2026-10-11';"
spark-sql -f /opt/jobs/dwd_order_daily.sql
spark-sql --master yarn --conf spark.sql.shuffle.partitions=400 -f job.sql
先用 EXPLAIN 看分区裁剪与 join 策略,再全量跑;纯 SQL 任务同样需要资源参数,别用默认并行度硬扛。

易错点

  • 多语句 SQL 文件里每条语句用分号结尾,注释写在行首避免解析歧义
  • 交互式执行大查询默认资源小,长任务应通过 spark-submit 交给调度器

数据来源与参考

  • Apache Spark 官方文档:Spark SQL CLI
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌