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