使用SparkSQL分析CSDN泄露的用户数据[top-n]

说明

CSDN泄露的用户数据的格式如下:

aaaaaaa # bbbbbb # xxxxxx@hotmail.com
aaaaaaa # bbbbbb # xxxxxx@hotmail.com
aaaaaaa # bbbbbb # xxxxxx@hotmail.com
aaaaaaa # bbbbbb # xxxxxx@hotmail.com___csdn_1
aaaaaaa # bbbbbb # xxxxxx@hotmail.com

格式为:用户名、 密码、邮箱,字段之间使用" # “(星两边各有一个空格)进行分隔。

分析最多人使用的TOPn个密码
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
case class User(username: String, password: String, email: String)

var filePath = "/data/www.csdn.net.sql"
var linesRDD = sc.textFile(filePath)
var partsRDD = linesRDD.map(l => l.split(","))
var csdnRDD = partsRDD.map(r => User(username=r(0), password=r(1), email=r(2)))
var csdnDF = csdnRDD.toDF()
csdnDF.printSchema()
csdnDF.count()

csdnDF.registerTempTable("csdn")


var pwdSet = sqlContext.sql("SELECT password,COUNT(password) AS password_cnt 
FROM csdn GROUP BY password ORDER BY password_cnt DESC LIMIT 50")
pwdSet.map(r => "Password: " + r(0) + " Count: " + r(1)).collect().foreach(println)

csdnDF.groupBy("password").count().show()

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值