Spark

作者: inspiredhss | 来源:发表于2020-03-22 20:24 被阅读0次
image.png image.png
  • driver-core是Java的
image.png image.png
  • 提交 脚本命令 提交 客户端 集群 resource application master Java进程
    Java申请资源 分发 创建 汇报给Java 任务执行代码 worker端分布式执行
image.png image.png image.png image.png image.png
  • Action算子 决定Job任务
image.png
  • 根据key进行重分区
a image.png

*task-reducetask

image.png
  • 一个worker端 可能多个小文件
image.png
  • 一个worker一个task下的文件 =CPU个数 CPU文件复用追加
image.png

*少了根据Key在内存中排序的操作

image.png
  • reduceByKey=GroupBykey+Map操作
image.png

*增大分区 产生shuffer; repartition
*减小分区 coalesce
*Spark默认分区200个参数 改变分区方式:根据算子 改变参数SparkConf

image.png image.png
  • 广播变量 Redis单节点集群运行 Java端变量分发到worker上;累加器可写;共享变量;
image.png image.png image.png image.png image.png image.png
  • checkpoint小文件问题;Zookerper中偏移量;预写日志会频繁访问namenode节点
image.png
  • 偏移量在kafka中
image.png
  • 窗口函数 基于checkpoint 基于历史数据叠加
image.png image.png
  • Key聚合 sortBy


    image.png

    *Key聚合 分区 迭代排序;

image.png image.png

*基于原有分区 不影其他分区

image.png

*DF 内存不够溢写到磁盘;RDD:内存不够 内存&初始端拉取

image.png image.png image.png

*小表在Java本地Join 然后广播到worker

image.png image.png image.png
  • 数据倾斜导致某个task运行较慢
  • 等数据处理完 再关闭


    image.png

相关文章

网友评论

      本文标题:Spark

      本文链接:https://www.haomeiwen.com/subject/slovyhtx.html