运行spark-sql时如何关闭信息打印输出?
移除Spark SQL执行脚本时的额外控制台输出
针对你遇到的即使设置rootLogger.level = off仍有状态信息输出的问题,这些内容并非Log4j管控的日志,而是Spark SQL自身的控制台提示信息,可通过以下几种方式解决:
使用静默执行参数
直接在执行命令时添加--quiet参数,这是Spark官方提供的快速屏蔽非结果输出的方式:spark-sql --quiet -f file.sql修改Spark全局配置(永久生效)
编辑spark-defaults.conf文件,添加以下配置项来彻底关闭相关提示:spark.sql.ui.showConsoleProgress false spark.ui.enabled falsespark.sql.ui.showConsoleProgress:关闭查询耗时、结果行数这类执行状态提示spark.ui.enabled:关闭Spark Web UI启动地址、master信息这类集群状态提示
Shell过滤输出(临时应急)
如果上述方法仍有残留输出,可通过Shell管道过滤掉指定关键词的行,只保留查询结果:spark-sql -f file.sql 2>&1 | grep -v -E "(Spark Web UI|Spark master|Time taken)"
内容的提问来源于stack exchange,提问作者User
相关产品推荐
相关产品推荐

