Apache spark ApacheSpark:如何进行不同的计数和一起计数?
我想同时做一个不同的计数和一个计数。 让我用一个简单的例子来解释你。 这是我的输入数据:Apache spark ApacheSpark:如何进行不同的计数和一起计数?,apache-spark,Apache Spark,我想同时做一个不同的计数和一个计数。 让我用一个简单的例子来解释你。 这是我的输入数据: arbre;pommier fruit;pomme fruit;pomme fruit;fraise fruit;ichigo arbre;cerisier arbre;abricotier sport;foot sport;rugby arbre;abricotier arbre;abricotier arbre;bananier fruit;ananas sport;basket arbre;abric
arbre;pommier
fruit;pomme
fruit;pomme
fruit;fraise
fruit;ichigo
arbre;cerisier
arbre;abricotier
sport;foot
sport;rugby
arbre;abricotier
arbre;abricotier
arbre;bananier
fruit;ananas
sport;basket
arbre;abricotier
arbre;abricotier
作为输出,我想得到:
//type;count;distinct-count
arbre;9;3
fruit;5;4
sport;3;3
通过单词计数的例子,我可以计算单词出现的时间,这里是count。使用distinct.groupeByKey函数,我计算了distinct count,这里是distinct count
但是,我不知道如何在同一个RDD而不是两个单独的RDD上实现这一点
如果您有关于这个主题的想法、文档或链接,我将非常感谢。数据:
col1,col2
arbre,pommier
fruit,pomme
fruit,pomme
fruit,fraise
fruit,ichigo
arbre,cerisier
arbre,abricotier
sport,foot
sport,rugby
arbre,abricotier
arbre,abricotier
arbre,bananier
fruit,ananas
sport,basket
arbre,abricotier
arbre,abricotier
使用Spark 2创建数据帧
输出:
+-----+-----+--------+
| col1|count|distinct|
+-----+-----+--------+
|arbre| 8| 4|
|sport| 3| 3|
|fruit| 5| 4|
+-----+-----+--------+
这就是我要找的。你知道我用Java怎么做吗?而且,结果似乎不是我想要的rdd。我说的对吗?结果是一个数据帧,可以使用.rdd函数将其转换为rdd
+-----+-----+--------+
| col1|count|distinct|
+-----+-----+--------+
|arbre| 8| 4|
|sport| 3| 3|
|fruit| 5| 4|
+-----+-----+--------+