flink表计数具有相同条目的行

时间:2015-09-14 16:29:46

标签: count apache-flink

我有一个表中列中有不同的条目(但我不知道所有这些)

table:    
column1 | column2
   x1   |    y1
   x1   |    y2
   x2   |    y2
   x3   |    y1
   x3   |    y2

现在我想得到一个列表或字典,其中第一列的所有条目都是重要的:

dict = (x1:2, x2:1, x3:2)

我试过了:

table = env.readCsvFile(tablepath).as('column1, 'column2)
var content = table.select('column1)
content.count()

我尝试使用Word-Count示例link,但它需要一个字符串数组作为输入?!所以

Wordcount(content) or Wordcount(content.toString()) 

不起作用。

1 个答案:

答案 0 :(得分:2)

如果您希望对column1中的每个值进行计数,则需要按column1进行分组并计算:

table = env.readCsvFile(tablepath).as('column1, 'column2)
var content = table.groupBy('column1').select('column1.count)

WordCount的输入指定输入和输出文件或数据(它需要两个字符串---或者没有,用于内存中的示例数据并将结果打印到stdout) 。参数不是要处理的数据。

相关问题