当前位置:网站首页>spark小案例——RDD,broadcast
spark小案例——RDD,broadcast
2022-04-22 06:01:00 【Z-hhhhh】
RDD小案例
object RDD01 {
def main(args: Array[String]): Unit = {
val sparkConf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("RDD01")
val sc: SparkContext = new SparkContext(sparkConf)
//从集合中创建RDD,spark提供了两个方法,parallelize和makeRDD,makeRDD就是实现parallelize
sc.parallelize(
List(1,2,3,4)
).filter(_>3)
.collect()
.foreach(println)
sc.stop()
}
}
broadcast小案例
/** * broadCast简单案例 * 广播变量用来高效分发较大的对象。向所有工作节点发送一个较大的只读值, * 以供一个或多个Spark操作使用。比如,如果你的应用需要向所有节点发送一个较大的只读查询表, * 广播变量用起来都很顺手。在多个并行操作中使用同一个变量,但是 Spark会为每个任务分别发送。 */
object BroadCast01 {
def main(args: Array[String]): Unit = {
val sparkConf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("broadcast01")
val sc: SparkContext = new SparkContext(sparkConf)
val rdd1= sc.makeRDD(List(("a", 1), ("b", 2), ("c", 3), ("d", 4)))
val list= List(("a", 5), ("b", 6), ("c",7))
//声明广播变量
val broadcast: Broadcast[List[(String,Int)]] = sc.broadcast(list)
rdd1.map {
case (key, num) => {
var num2 = 0
//使用广播变量
for ((k, v) <- broadcast.value) {
if (key == k) {
num2 = num * v
}
}
(key, num2)
}
}.filter(x=>x._2>0) //筛选value>0的
.foreach(x=>{
println(x._1+":"+x._2)})
sc.stop()
}
}
版权声明
本文为[Z-hhhhh]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_45399602/article/details/120683546
边栏推荐
- 微信小程序登录流程
- (4种)实现垂直居中的方法总结
- Redis fetches out data with garbled code
- EXCEL IF、AND以及OR函数的嵌套使用
- Using ltree to process hierarchical data in PostgreSQL
- 一套sql语句同时支持Oracle跟Mysql?
- Uniapp wechat applet user authorization to obtain current location information Tencent map
- Scenario of PostgreSQL online adjusting the maximum number of connections
- 剑指offer:数据流中的中位数(优先队列 大顶堆小顶堆 leetcode 295)
- 创新实训(五)中期检查
猜你喜欢

MySQL is a classic question often asked in an interview.

EXCEL VLOOKUP函数的使用

小程序自定义原生底部导航

微信小程序使用色彩字体图标(笔录)

API centralized management

8张图让你一步步看清 async/await 和 promise 的执行顺序

EXCEL IF、AND以及OR函数的嵌套使用

Uniapp custom bottom navigation bar H5 has an effective solution to invalid applet

Redis的安装启动,菜鸟使用(windows)

ArcGIS 观景点视域分析
随机推荐
创新实训(十二)爬虫
api集中管理
创新实训(七)FBV视图&CBV视图
COM in Wine(2)——基本代码分析
Uniapp applet anchor point (only support the current page operation, do not cross page operation)
Usage rules of cast function in MySQL
手写通用防抖与节流函数
js判断PC端或移动端
Uniapp generates Canvas Product posters
Open source database management systems are now more popular than commercial products
JS judge the PC end or mobile end
nodejs+Express+mongodb
阿里巴巴提示:手动创建线程效果更好
com.alibaba.fastjson 常用方法
微信小程序接口封装(uniapp)
Applet Bluetooth connection low power device (ble) record
使用@Autowired出现Field injection is not recommended
创新实训(十一)机票爬取 公司信息
Flink案例——kafka、MySQL source
关于调试指纹时候遇到的其他问题