zoukankan      html  css  js  c++  java
  • spark-遇到问题小结

       经常会遇到 类似 org.apache.spark.shuffle.FetchFailedException: java.io.FileNotFoundException 。主要是shuffle 导致内存不足引起的。shuffle 分为 shuffle read 和write 。 

      1. shuffle read 是读其它partition 发来的数据,从缓存中读。

      2. shuffle write 是写数据到缓存准备发给其他partition。

      当数据分片partition过多而且每个partition的大小很小的时候,当这个时候触发shuffle就会有大量的网络io和shuffle read 的操作。这时候要通过coalesce 或repartition在之前的某一步提前把数据进行合并,来防止产生过多partition。

      当数据分片不多而每个partition很大的时候,这时候要是shuffle也会造成大量的shuffle read 和write操作,而导致内存不足,这时候也需要通过coalesce 或repartition在之前的某一步提前把数据打散放小。

      为什么会出现这样情况呢,应该是数据的partition的数量决定了task的数量。所以经常在调优的时候,经常要注意每一步shuffle后数据partition的大小和partition的数量。这个要从executor的内存,shuffle read 、write的大小来看。

  • 相关阅读:
    request转换为java bean
    idea中快捷键
    idea中Terminal显示中文乱码
    idea解决tomcat控制台中文乱码问题
    需要看的url
    常用网站
    反射
    5、运算符
    4、变量
    2、Hello Word讲解
  • 原文地址:https://www.cnblogs.com/parkin/p/8405619.html
Copyright © 2011-2022 走看看