![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark
文章平均质量分 87
IORILYCY
这个作者很懒,什么都没留下…
展开
-
Spark流处理中定时更新广播变量值
Spark流处理中定时更新广播变量值在实际项目应用上,某些需求会有更新静态规则表的情况,如消息过滤规则、风控规则等。通常这样的表数据量不会大,在spark中使用广播变量的形式使用,而广播变量是不支持更新的,怎样在流处理过程中更新,下面分别论述Spark streaming和Structured streaming的场景。一、Spark streaming可以利用单例模式定时的删除已经广播的值,同时获取新的变量值重新广播,假如要广播的是RDS中的表,代码示例如下:注意事项:spark stre原创 2022-02-07 17:44:37 · 1941 阅读 · 0 评论 -
Spark内存管理
Spark 内存管理一、统一内存管理1、堆内内存(on-heap)大小可由 spark 作业提交参数 -executor-memory,或配置参数 spark.executor.memory 来手动配置executor 进程 JVM 可用内存,由 JVM 统一管理,executor 内并发任务共享1.1 空间分配30% 存储内存(storge):存储 rdd 缓存数据、broadcast 数据(数据是否序列化由缓存级别决定)30% 执行内存(execution):shuffle 执行过程原创 2021-02-21 18:36:20 · 747 阅读 · 0 评论 -
Spark Shuffle 解析
Spark Shuffle 解析一、Hash Shuffle1、普通 Hash Shuffleshuffle write 阶段每个 core 会执行n个task,每个 task 都会对数据按 key 做 hash/numReduce 取模的操作,生成下游 numReduce 个小文件,每个小文件对应下游的一个 task,总文件数 = numTask * numReduceshuffle read task 拉取属于自己的文件进行计算2、优化后的 Hash Shuffle与之前不同的是,s原创 2022-02-16 17:25:57 · 589 阅读 · 0 评论 -
Spark作业提交及任务调度
Yarn-Cluster 模式任务流程一、任务提交流程执行脚本提交任务,实际是启动一个 SparkSubmit 的 JVM 进程SparkSubmit 类中的 main 方法 反射调用 YarnClusterApplication 的 main 方法创建客户端YarnClusterApplication 在客户端创建 yarnClient,向 ResourceManager 提交用户的应用程序RM 发送执行指令:bin/java ApplicationMaster,在指定的 Nod原创 2021-02-21 18:34:39 · 302 阅读 · 0 评论