利用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)]
复制代码

 

posted @   jingsupo  阅读(225)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现

欢迎光临

点击右上角即可分享
微信分享提示