利用PySpark统计相邻字符串对出现的次数

利用PySpark统计相邻字符串对出现的次数

如有文件demo.txt数据如下:

A;B;C;D;B;D;C
B;D;A;E;D;C
A;B

代码如下:

from pyspark import SparkContext


sc = SparkContext()

rdd1 = sc.textFile('demo.txt')
rdd2 = rdd1.map(lambda x: x.split(';'))


def ne(x):
    return list(zip(*[x[i:] for i in range(2)]))


rdd2.flatMap(ne).map(lambda x: (x[0] + ' , ' + x[1], 1)).reduceByKey(lambda a, b: a + b).collect()

输出结果如下:

[('A , B', 2),
 ('B , C', 1),
 ('D , B', 1),
 ('B , D', 2),
 ('D , A', 1),
 ('C , D', 1),
 ('D , C', 2),
 ('A , E', 1),
 ('E , D', 1)]

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/119507.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号