我正在Spark应用程序中运行查询,该查询返回了大量数据。我想知道出于日志记录目的正在查询多少行数据。我似乎无法找到一种方法来获取行数,而不必手动对其进行计数或调用一种方法来为我计数,因为数据相当大,这对于日志记录而言代价很高。行计数是否有保存并可以抓住的地方?
我已经读过here,说Python连接器将行数保存到对象模型中,但是我似乎找不到与Spark连接器或其底层JDBC等效的内容。
我能找到的最佳方法是在Spark提供的RDD上使用rdd.collect().size
。它比调用rdd.count()
感谢您的帮助help
答案 0 :(得分:1)
此限制在Spark的API中,它们不直接提供已完成的分布式操作的指标,例如保存到表或文件后的行数指标。 Snowflake的Spark连接器仅限于Apache Spark提供的集成调用,否则无法通过Py / Spark访问Snowflake Python和JDBC连接器中可用的游标属性。
先前已通过解决方案讨论了计算执行结果,去除雪花细节的问题的更简单形式:Spark: how to get the number of written rows?