scala程序写Spark程序实现黑名单过滤
2016-12-19 16:54
501 查看
package com.bigdata
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkContext, SparkConf}
/**
*
*/
object BlackWhite {
def main(args: Array[String]) {
createContext()(process)
}
def createContext()(func:SparkContext=>Unit){
val conf=new SparkConf().setAppName("BlackWhite").setMaster("local[2]")
val sc=new SparkContext(conf)
try{
func(sc)
}finally {
sc.stop()
}
}
//处理数据
def process(sc:SparkContext): Unit ={
val aRdd=sc.textFile("/spark/a.txt")
val bRdd=sc.textFile("/spark/b.txt")//存放用户黑名单
val a=aRdd.map(_.split(" ")).map(arr=>(arr(0),arr))
val b=bRdd.map((_,true))
val aJoinb: RDD[(String, (Array[String], Option[Boolean]))] =a.leftOuterJoin(b)
val result: RDD[(String, String)] =aJoinb.filter({
case word:(String, (Array[String], Option[Boolean]))=>word._2._2.isEmpty
}).map(abc=>(abc._2._1(0),abc._2._1(1)))
println(result.collect().mkString(" "))
}
}
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkContext, SparkConf}
/**
*
*/
object BlackWhite {
def main(args: Array[String]) {
createContext()(process)
}
def createContext()(func:SparkContext=>Unit){
val conf=new SparkConf().setAppName("BlackWhite").setMaster("local[2]")
val sc=new SparkContext(conf)
try{
func(sc)
}finally {
sc.stop()
}
}
//处理数据
def process(sc:SparkContext): Unit ={
val aRdd=sc.textFile("/spark/a.txt")
val bRdd=sc.textFile("/spark/b.txt")//存放用户黑名单
val a=aRdd.map(_.split(" ")).map(arr=>(arr(0),arr))
val b=bRdd.map((_,true))
val aJoinb: RDD[(String, (Array[String], Option[Boolean]))] =a.leftOuterJoin(b)
val result: RDD[(String, String)] =aJoinb.filter({
case word:(String, (Array[String], Option[Boolean]))=>word._2._2.isEmpty
}).map(abc=>(abc._2._1(0),abc._2._1(1)))
println(result.collect().mkString(" "))
}
}
相关文章推荐
- 第94讲, 使用Scala开发集群运行的Spark 实现在线黑名单过滤程序
- 第108课: Spark Streaming电商广告点击综合案例动态黑名单过滤真正的实现代码
- SparkStreaming 实现广告计费系统中在线黑名单过滤实战
- 第106讲: Spark Streaming电商广告点击综合案例黑名单过滤实现
- 第94课:SparkStreaming 实现广告计费系统中在线黑名单过滤实战
- transform实现广告计费日志实时黑名单过滤(Scala版本)
- Spark 实现黑名单实时过滤
- maven构建Scala程序,实现spark的wordcount
- java,spark实现黑名单过滤
- Spark 程序 WordCount实现 Scala、Python
- 大数据IMF传奇行动绝密课程第94课:SparkStreaming实现广告计费系统中在线黑名单过滤实战
- 大数据IMF传奇行动绝密课程第103课:动手实战Spark Streaming Broadcast、Accumulator实现在线黑名单过滤和计数
- 第108讲: Spark Streaming电商广告点击综合案例动态黑名单过滤真正的实现代码
- 第106课: Spark Streaming电商广告点击综合案例黑名单过滤实现
- Spark1.0.0 多语言编程之Scala实现
- Spark:Scala实现KMeans算法
- 净化网络环境 ASP程序实现过滤脏话
- spark连接数据库操作(scala实现)
- Spark:用Scala和Java实现WordCount
- 基于spark运行scala程序(sbt和命令行方法)