0
我正在尝试编写Spark应用程序,该应用程序可以找到在map
函数中创建的键的数量。我找不到可以让我这样做的功能。如何找到在地图部分创建的键的数量?
我想过的一种方法是使用累加器,我会在reduce
函数中将累加器变量加1。我的想法是基于累加器变量作为计数器在节点间共享的假设。
请指导。
我正在尝试编写Spark应用程序,该应用程序可以找到在map
函数中创建的键的数量。我找不到可以让我这样做的功能。如何找到在地图部分创建的键的数量?
我想过的一种方法是使用累加器,我会在reduce
函数中将累加器变量加1。我的想法是基于累加器变量作为计数器在节点间共享的假设。
请指导。
如果您看起来像Spark中的Hadoop计数器,最准确的近似值是您可以在每个任务中增加的累加器,但是您没有任何关于Spark迄今为止处理的数据量的信息。
如果您只想知道您的rdd中有多少个不同的密钥,那么您可以执行类似于不同映射密钥的计数(rdd.map(t => t_1))。distinct.count)
希望这会对你有用