sparkstreaming使用python实现黑名单过滤

sparkstreaming使用python实现黑名单过滤

场景如下:zs(张三),ls(李四)在黑名单中,ww(王五)不在黑名单中。将zs,ls过滤,得出ww不在黑名单,代码如下:
from pyspark import SparkContext
from pyspark.streaming import StreamingContext

#黑名单过滤

#sc = SparkContext(master=“local[2]”,appName=“TransformAPP”)
ssc = StreamingContext(sc, 5)

blacks = [‘zs’, ‘ls’]
#列表转RDD:[(‘zs’, ‘true’), (‘ls’, ‘true’)],true:在黑名单中
blackRDD = sc.parallelize(blacks).map(lambda x: (x, ‘true’))

lines = ssc.socketTextStream(“localhost”, 6789)

#将输入数据做转换、过滤
clicklog = lines.map(lambda line: (line.split(",")[1], (line)))
.transform(lambda rdd: rdd.leftOuterJoin(blackRDD))
.filter(lambda x: x[1][1] == None)
.map(lambda a: a[0])

clicklog.pprint()

ssc.start()
ssc.awaitTermination()

首先启动nc
在这里插入图片描述
然后启动pyspark
在这里插入图片描述
将上面的代码拷贝到命令行测试
在这里插入图片描述
输入测试数据
在这里插入图片描述
查看结果,正是我们想要的ww(不在黑名单中)
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值