是否可以使用Snowflake及其Spark Connector在查询中获取行数?

时间:2019-08-12 16:25:17

标签: apache-spark snowflake-data-warehouse

我正在Spark应用程序中运行查询,该查询返回了大量数据。我想知道出于日志记录目的正在查询多少行数据。我似乎无法找到一种方法来获取行数,而不必手动对其进行计数或调用一种方法来为我计数,因为数据相当大,这对于日志记录而言代价很高。行计数是否有保存并可以抓住的地方?

我已经读过here,说Python连接器将行数保存到对象模型中,但是我似乎找不到与Spark连接器或其底层JDBC等效的内容。

我能找到的最佳方法是在Spark提供的RDD上使用rdd.collect().size。它比调用rdd.count()

快15%

感谢您的帮助help

1 个答案:

答案 0 :(得分:1)

此限制在Spark的API中,它们不直接提供已完成的分布式操作的指标,例如保存到表或文件后的行数指标。 Snowflake的Spark连接器仅限于Apache Spark提供的集成调用,否则无法通过Py / Spark访问Snowflake Python和JDBC连接器中可用的游标属性。

先前已通过解决方案讨论了计算执行结果,去除雪花细节的问题的更简单形式:Spark: how to get the number of written rows?