利用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)]
作者:jsp
-------------------------------------------
个性签名:无论在哪里做什么,只要坚持服务、创新、创造价值,其它的东西自然都会来的。
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!