我的數據=如何使這個..spark斯卡拉收集地圖
aaaa|1000
bbb|1000
ccc|1000
aaaa|1000
aaaa|2000
aaaa|3000
aaaa|2000
aaaa|1000
bbb|2000
bbb|2000
ccc|1000
ccc|1000
ccc|2000
ccc|3000
ccc|4000
我要計數出現次數的數量每個數值,每個文本標籤:
aaaa||1000||3||2000||2||3000||1
bbb||2000||2||1000||1
ccc||1000||3||4000||1||2000||1||3000||1
這是我的代碼
val UserShopRowData = inputData.map(s => (s.replace("|", " ").split(" "))).map(s => (s(0), s(1)))
val u1 = UserShopRowData.map(s=> (s, 1)).reduceByKey(_+_)
val u2 = u1.map(s => (s._1._1, s._1._2, s._2))
val u3 = u2.toLocalIterator.toList.sortBy(s => (s._1, s._3)).reverse
,這是我得到的結果:
(ccc,1000,3)
(ccc,4000,1)
(ccc,2000,1)
(ccc,3000,1)
(bbb,2000,2)
(bbb,1000,1)
(aaaa,1000,3)
(aaaa,2000,2)
(aaaa,3000,1)
請給我一個解決方案或建議。
我不明白你的問題 – byxor