第1关:客户管理系统开发定制流实现黑名单过滤
代码:
import org..spark.SparkConf
import org.apache..streaming.StreamingContext
import org.apache.spark.streaming.Seconds
object TransformBlackList {
def main(: Array[String]): Unit = {
/********** Begin **********/
//初始化
val sparkConf = new SparkConf().setAppName("TransformBlackList").setMaster("local[2]")
//创建StreamingContext,设置每五秒秒刷新一次
val ssc = new StreamingContext(sparkConf, Seconds(5))
ssc.sparkContext.setLogLevel("error")
//设置需要过滤的黑名单(Abby、 Paige、 Carla、 Mary、 Ken)
val BlackList = Array("Abby","Paige","Carla","Mary","Ken")
// 把黑名单数组转换成rdd
val BlackListRdd = ssc.sparkContext.parallelize(BlackList, 3)
//设置主机名localhost,端口号5566
val NameList = ssc.socketTextStream("localhost", 5566)
//过滤黑名单算法
val ValidName = NameList.filter(x => !BlackList.contains(x))
ValidName.print()
ssc.start()
Thread.sleep(5000)
ssc.stop(false, false)
sys.exit(0)
/********** End **********/
}
}