-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBroadCast.scala
More file actions
33 lines (28 loc) · 846 Bytes
/
Copy pathBroadCast.scala
File metadata and controls
33 lines (28 loc) · 846 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import org.apache.spark.SparkContext
import org.apache.spark.broadcast.Broadcast
import org.apache.spark.sql.SparkSession
/**
* Description: 广播变量只读不可变
*/
object BroadCast {
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder
.appName(this.getClass().getSimpleName())
.master("local[*]")
.config("", "")
.getOrCreate
val sc: SparkContext = spark.sparkContext
val list = List("spark")
print(list.contains("spark"))
var broadcast: Broadcast[List[String]] = sc.broadcast(list)
sc.textFile("data/bd.txt").filter((line: String) => {
broadcast.value.contains(line)
}).foreach(println)
//删除广播变量
broadcast.unpersist()
//重新更新广播变量
broadcast = sc.broadcast(list)
sc.stop()
spark.stop()
}
}