我试图用spark计数一些参数。我使用了"计数"示例。在此示例中,我们可以计算一个单词,但我想知道如何同时计算两个字段。
这是我想做的:
输入文件
{
"redundancy":1,
"deviceID":"dv1"
}
{
"redundancy":1,
"deviceID":"dv2"
}
{
"redundancy":2,
"deviceID":"dv1"
}
{
"redundancy":1,
"deviceID":"dv1"
}
{
"redundancy":2,
"deviceID":"dv5"
}
输出文件
{
"redundancy":1,
"count":3,
"nbDevice":2
}
{
"redundancy":2,
"count":2,
"nbDevice":2
}
我想知道是否已经有一个用例的示例,或者您是否有任何文档或链接,我会非常感谢。
您可以将Pairs用作密钥。
解决方案看起来像:
rdd.map(record => (record.firstField, record.secondField) -> 1)
.reduceByKey(_ + _)