最頻繁的值(模式),我得到了一個RDD與此類似查找每個變量
color category
green a
green b
red a
orange a
green b
red d
green c
red d
green e
而且我試圖找到每種顏色的最常見的類別。 事情是這樣的:
[green, b] : 2
[red, d ] : 2
[orange, a] : 1
我已經使用
rdd.countByValue()
後有中途將返回在這種情況下,像這樣的詞典:
(color=u'green', category=u'a'): 1
(color=u'green', category=u'b'): 2
(color=u'green', category=u'c'): 1
(color=u'green', category=u'e'): 1
(color=u'red', category=u'a'): 1
(color=u'red', category=u'd'): 2
(color=u'orange', category=u'a'): 1
從這一步我不知道如何獲得每種顏色最頻繁的類別。 在此先感謝。
編輯:我試圖使用contentDF.groupBy('color').agg({'category' : 'max'}).collect()
不同的方法,但我相信agg
參數是錯誤的,因爲它是給我整個表的整體最大值。有什麼建議麼?我覺得我正在接近!
編輯:我仍然在尋找解決方案... 現在我有這樣的一個表:
color category frequency
green a 1
green b 2
green c 1
green e 1
red a 1
red d 2
orange a 1
任何人都可以提出一個星火SQL查詢來選擇每個顏色組的最大價值?
它是否適用於RDD對象?我嘗試過,並沒有工作。現在,我正在使用這種方法: 我正在得到類似於我想要的內容。我認爲agg參數是錯誤的。 'contentDF'是表 – user3276768
我編輯它你現在可以嘗試 – Hackaholic