博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Spark][python]从 web log 中提取出 UserID 作为key 值,形成新的 RDD
阅读量:5999 次
发布时间:2019-06-20

本文共 1573 字,大约阅读时间需要 5 分钟。

针对RDD, 使用 keyBy 来构筑 key-line 对:

[training@localhost ~]$ cat webs.log

56.31.230.188 - 90700 "GET/KDDOC-00101.html HTTP/1.0"

56.32.230.186 - 90700 "GET/contents.css HTTP/1.0"
202.156.27.99 - 25223 "GET /KDDOC-00220.html HTTP/1.0"
[training@localhost ~]$ 
[training@localhost ~]$ hdfs dfs -put webs.log
[training@localhost ~]$ 
[training@localhost ~]$ hdfs dfs -cat webs.log
56.31.230.188 - 90700 "GET/KDDOC-00101.html HTTP/1.0"
56.32.230.186 - 90700 "GET/contents.css HTTP/1.0"
202.156.27.99 - 25223 "GET /KDDOC-00220.html HTTP/1.0"
[training@localhost ~]$ 
[training@localhost ~]$

In [23]: mylogs = sc.textFile("webs.log")

In [25]: mylogs001 = mylogs.keyBy(lambda line: line.split(' ')[2])

In [26]: mylogs001.take(1)

Out[26]: [(u'90700', u'56.31.230.188 - 90700 "GET/KDDOC-00101.html HTTP/1.0"')]

In [28]: mylogs001.take(2)

Out[28]: 
[(u'90700', u'56.31.230.188 - 90700 "GET/KDDOC-00101.html HTTP/1.0"'),
(u'90700', u'56.32.230.186 - 90700 "GET/contents.css HTTP/1.0"')]

作一个对比,看看 mylogs001.take(3) 和 mylogs.take(3)

In [30]: mylogs001.take(3)

Out[30]: 
[(u'90700', u'56.31.230.188 - 90700 "GET/KDDOC-00101.html HTTP/1.0"'),
(u'90700', u'56.32.230.186 - 90700 "GET/contents.css HTTP/1.0"'),
(u'25223', u'202.156.27.99 - 25223 "GET /KDDOC-00220.html HTTP/1.0"')]

In [31]: mylogs.take(3)
Out[31]: 
[u'56.31.230.188 - 90700 "GET/KDDOC-00101.html HTTP/1.0"',
u'56.32.230.186 - 90700 "GET/contents.css HTTP/1.0"',
u'202.156.27.99 - 25223 "GET /KDDOC-00220.html HTTP/1.0"']

本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/p/008-Aggregating-Data-with-Pair-RDDs-keyBy.html,如需转载请自行联系原作者

你可能感兴趣的文章
Cetos 中添加bbr服务
查看>>
win7_64位操作系统安装python3.6.3遇到的问题和解决方法
查看>>
html5笔记
查看>>
WPF操作邮箱,发送邮件
查看>>
Error copying image in the datastore: Not allowed to copy image file
查看>>
kvm在线磁盘扩展
查看>>
libvirt-adabddad
查看>>
apache的配置及检查
查看>>
关于解决 从相册中选择照片后无法剪切图片以及无法加载图片的问题
查看>>
我的Python成长之路---第八天---Python基础(25)---2016年3月5日(晴)
查看>>
ubuntu14.04+cuda8.0+caffe+opencv2.4.13+matlab安装指南
查看>>
矩阵图中的广度优先搜索
查看>>
C# 全角和半角转换以及判断的简单代码
查看>>
正则表达式
查看>>
插件推荐系列
查看>>
An introduction to parsing text in Haskell with Parsec
查看>>
Redis在java开发中使用
查看>>
input file样式美化
查看>>
博客园页面设置
查看>>
docker环境搭建
查看>>