spark RDD分区2GB限制(Size exceeds Integer.MAX_VALUE)
来源:互联网 发布:动态数组clear函数 编辑:程序博客网 时间:2024/05/18 00:04
最近使用spark处理较大的数据文件,遇到了分区2G限制的问题,spark日志会报如下的日志:
WARN scheduler.TaskSetManager: Lost task 19.0 in stage 6.0 (TID 120, 10.111.32.47): java.lang.IllegalArgumentException: Size exceeds Integer.MAX_VALUE
at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:828)
at org.apache.spark.storage.DiskStore.getBytes(DiskStore.scala:123)
at org.apache.spark.storage.DiskStore.getBytes(DiskStore.scala:132)
at org.apache.spark.storage.BlockManager.doGetLocal(BlockManager.scala:517)
at org.apache.spark.storage.BlockManager.getLocal(BlockManager.scala:432)
at org.apache.spark.storage.BlockManager.get(BlockManager.scala:618)
at org.apache.spark.CacheManager.putInBlockManager(CacheManager.scala:146)
at org.apache.spark.CacheManager.getOrCompute(CacheManager.scala:70)
解决方法:
手动设置RDD的分区数量。当前使用的Spark默认RDD分区是18个,后来手动设置为500个,上面这个问题就迎刃而解了。可以在RDD加载后,使用RDD.repartition(numPart:Int)函数重新设置分区数量。
val data_new = data.repartition(500)
下面是一些相关的资料,有兴趣的读者可以进一步的阅读:
- 2GB limit in spark for blocks
- create LargeByteBuffer abstraction for eliminating 2GB limit on blocks
- Why does Spark RDD partition has 2GB limit for HDFS
- 抛异常的java代码:FileChannelImpl.java
- spark RDD分区2GB限制(Size exceeds Integer.MAX_VALUE)
- Saprk 报错java.lang.IllegalArgumentException: Size exceeds Integer.MAX_VALUE
- Spark-RDD 分区
- spark RDD 分区
- spark rdd 自动分区
- MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST)
- Spark RDD 内部结构(二) RDD分区
- Spark自定义RDD重分区
- Spark RDD 分区数详解
- Spark成长之路(2)-RDD中分区依赖系统
- 3.2 Spark RDD 基本转换操作2-分区:coalesce、repartition
- Integer.MIN_VALUE和Integer.MAX_VALUE
- Integer.MIN_VALUE和Integer.MAX_VALUE
- 举例说明Spark RDD的分区、依赖
- 举例说明Spark RDD的分区、依赖
- 举例说明Spark RDD的分区、依赖
- Learning Spark笔记9-确定RDD分区
- Spark开发-RDD分区重新划分
- Chromium 控件 DotNetBrowser V1.11发布 | 附下载
- Java IO里流的概念和转换流
- linux 常用工具
- Python命令行参数解析:getopt和argparse
- MVC @page 命令
- spark RDD分区2GB限制(Size exceeds Integer.MAX_VALUE)
- html5 multiple多文件异步上传 服务器接收文件重复
- 对input输入框内容判断非空 和 去空格
- 程序员最核心的竞争力是什么?
- 数据结构与算法之二分查找
- java程序动态加载java源文件并调用类方法
- C++学习之路 day5
- c++ 文件操作
- python数据库操作