資料集資料結構 website 請求ip
例如
www.Abaidu.com 192.168.1.101
www.Abaidu.com 192.168.1.102
www.Abaidu.com 192.168.1.103
www.Ataobao.com 192.168.1.101
www.Ataobao.com 192.168.1.102
www.Ajd.com 192.168.1.101
最后想要的結果是
www.Abaidu.com-www.Ataobao.com 重合率 ip個數 2
www.Abaidu.com-www.Ajd.com 重合率 ip個數 1
www.Ataobao.com-www.Ajd.com 重合率 ip個數 1
用spark RRD 應該怎么處理。
本人小白,麻煩給個思路。
uj5u.com熱心網友回復:
在spark-shell里試試:val array = Array(Array("www.Abaidu.com", "192.168.1.101"),
Array("www.Abaidu.com", "192.168.1.102"),
Array("www.Abaidu.com", "192.168.1.103"),
Array("www.Ataobao.com", "192.168.1.101"),
Array("www.Ataobao.com", "192.168.1.102"),
Array("www.Ajd.com", "192.168.1.101"))
sc.parallelize(array).cartesian(sc.parallelize(array)).map(r => {
if(r._1(0) != r._2(0) && r._1(1) == r._2(1)){
(r._1(0) + "-" + r._2(0), 1)
}
else{
("nothing", 1)
}
}
).filter(r => r != ("nothing", 1)).reduceByKey((a, b) => a + b).map(r => (r._1.split("-").sortWith(_>_)(0), r._1.split("-").sortWith(_>_)(1), r._2)).distinct().collect
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/83360.html
標籤:Spark
上一篇:wi超時時間修改
下一篇:MapReduce的使用
