【发布时间】:2019-08-12 16:25:17
【问题描述】:
我正在我的 Spark 应用程序中运行一个返回大量数据的查询。我想知道为了记录目的而查询了多少行数据。我似乎无法找到一种方法来获取行数,而无需手动计算行数,或者调用一个方法来为我计数,因为数据相当大,这对于日志记录来说很昂贵。是否有一个地方可以保存行数并可供抓取?
我已阅读here,Python 连接器将行数保存到对象模型中,但我似乎找不到 Spark 连接器或其底层 JDBC 的任何等效项。
我能找到的最佳方式是 Spark 提供的 RDD 上的 rdd.collect().size。比调用rdd.count()快15%左右
任何帮助表示赞赏????
【问题讨论】:
-
Dataframe API 可以选择提供查询...
sqlContext.read .format(SNOWFLAKE_SOURCE_NAME) .options(sfOptions) .option("query", "SELECT COUNT(1) FROM table") .load() -
如果我错了,请纠正我,但这与简单地手动计算我已经拥有的数据没有太大区别。此外,这将需要通过 Internet 进行另一个查询,这也需要时间。有没有办法在这个查询中获得
count(column) FROM table?select column1, column2 from table where...
标签: apache-spark snowflake-cloud-data-platform