我在Cloudera QuickStart VM中使用Spark控制檯。如何減少密鑰?
下面提供了一個輸出文件。它顯示前20條記錄。每條記錄都是電視頻道名稱和其相應觀衆人數的組合。有幾百個記錄。
目標是將此RDD(channel_views)按電視頻道名稱分組,以便每條記錄都是電視頻道名稱的唯一顯示以及其相應的觀看次數總和。
channel_views = joined_dataset.map(extract_channel_views)
下面是代碼集的我與掙扎,以產生上述
def some_function(a,b):
some_result = a + b
return some_result
channel_views.reduceByKey(some_function).collect()
輸出的下面代碼來描述所期望的輸出/目標:
channel_views.take(20)
[(1038, u'DEF'),
(1038, u'CNO'),
(1038, u'CNO'),
(1038, u'NOX'),
(1038, u'MAN'),
(1038, u'MAN'),
(1038, u'XYZ'),
(1038, u'BAT'),
(1038, u'CAB'),
(1038, u'DEF'),
(415, u'DEF'),
(415, u'CNO'),
(415, u'CNO'),
(415, u'NOX'),
(415, u'MAN'),
(415, u'MAN'),
(415, u'XYZ'),
(415, u'BAT'),
(415, u'CAB'),
(415, u'DEF')]