用spark 跑sql文件日志中如何知道每段insert了多少行数据
在Spark中运行SQL文件时,可以使用以下方法来获取每个INSERT语句插入的行数:
- 在Spark SQL的配置中,启用Spark SQL的日志级别为DEBUG级别。可以通过以下方式设置:
spark.conf.set("spark.sql.log.level", "DEBUG")
- 在SQL文件中的每个INSERT语句之前,添加一行注释,以标识该INSERT语句。例如:
-- INSERT 1
INSERT INTO table1 VALUES ...
- 运行Spark应用程序,并查看Spark的日志文件。在日志中,可以找到以下关键字来标识每个INSERT语句的开始和结束:
== Optimized Logical Plan ==
== Physical Plan ==
- 然后,在这两个关键字之间搜索包含INSERT语句的日志行。在找到INSERT语句的日志行后,查找以下关键字来获取插入的行数:
numOutputRows
- 计算每个INSERT语句的插入行数,并将其存储在一个变量中,供后续处理使用。
请注意,以上方法仅适用于Spark的本地模式或单节点模式,因为在分布式模式下,插入行数可能会分布在不同的节点上,而不会在Spark日志中显示。对于分布式模式,可以考虑使用Spark监控工具如Ganglia或Spark Web UI来获取更详细的任务和作业级别的指标信息
原文地址: https://www.cveoy.top/t/topic/iDTH 著作权归作者所有。请勿转载和采集!