zoukankan      html  css  js  c++  java
  • 0 Spark调优

    1. 开发调优

       - 避免创建重复的RDD

       - 尽可能复用同一个RDD

       - 对多次使用的RDD进行持久化

       - 尽量避免使用shuffle类算子

       - 使用map-side预聚合的shuffle操作(在每个节点本地对相同的key进行一次聚合操作,map-side预聚合之后,每个节点本地就只会有一条相同的key)

       - 使用高性能的算子

       - 广播大变量

       - 使用Kryo优化序列化性能

       - 优化数据结构

     

    2. 资源参数调优

       - 运行时架构

       - 运行流程

       - 调优

         - executor配置

         - driver配置

         - 并行度

         - 网络超时

         - 数据本地化

         - JVM/gc配置

    3. 数据倾斜调优

       - 使用Hive ETL预处理数据

       - 过滤少数导致倾斜的key

       - 提高shuffle操作的并行度

       - 两阶段聚合

       - 将reduce join转为map join

       - 使用随机前缀和扩容RDD进行join

    4. Shuffle调优

       - shuffle原理

       - shuffle演进

       - 调优

       - join类型

    5. 其他优化项

       - 使用DataFrame/DataSet

  • 相关阅读:
    Linux系统组成和获取命令帮助2
    Linux系统组成和获取命令帮助1
    3P修饰
    PHP-简单生成唯一数
    Go语言实现APPID登录
    磁盘满了,却看不到是谁占用的
    Redis安装、配置和卸载
    docker 加入域名
    Docker安装
    Swoft+Docker
  • 原文地址:https://www.cnblogs.com/chen8023miss/p/11304120.html
Copyright © 2011-2022 走看看