MAPREDUCE服务 MRS-动态分区插入场景内存优化:操作场景
操作场景
SparkSQL在往动态分区表中插入数据时,分区数越多,单个Task生成的HDFS文件越多,则元数据占用的内存也越多。这就导致程序GC(Garbage Collection)严重,甚至发生OOM(Out of Memory)。
经测试证明:10240个Task,2000个分区,在执行HDFS文件从临时目录rename到目标目录动作前,FileStatus元数据大小约29G。为避免以上问题,可修改SQL语句对数据进行重分区,以减少HDFS文件个数。