Optimization 在Hadoop中使用GZip输入文件时如何优化S3的读取性能
在Hadoop流媒体工作的第一步,我的性能非常糟糕:在我看来,映射程序从S3读取的数据大约为40KB/s-50KB/s 从S3读取约100MB的数据需要一个多小时 数据的存储方式:S3存储桶中有数千个~5-10KB GZip文件 我最近解压缩了一个100MB样本数据集的所有文件,并将其作为一个GZip文件上传到同一个S3存储桶中,我的任务在3分钟内完成(与之前的1小时运行相比) 受到鼓励,我解压缩了样本2GB数据集的所有文件,并将其作为单个GZip文件上传到同一个S3存储桶中,我的任务再次花费了1个多小时:之后我终止了任务 我没有使用过Optimization 在Hadoop中使用GZip输入文件时如何优化S3的读取性能,optimization,hadoop,amazon-s3,hadoop-streaming,Optimization,Hadoop,Amazon S3,Hadoop Streaming,在Hadoop流媒体工作的第一步,我的性能非常糟糕:在我看来,映射程序从S3读取的数据大约为40KB/s-50KB/s 从S3读取约100MB的数据需要一个多小时 数据的存储方式:S3存储桶中有数千个~5-10KB GZip文件 我最近解压缩了一个100MB样本数据集的所有文件,并将其作为一个GZip文件上传到同一个S3存储桶中,我的任务在3分钟内完成(与之前的1小时运行相比) 受到鼓励,我解压缩了样本2GB数据集的所有文件,并将其作为单个GZip文件上传到同一个S3存储桶中,我的任务再次花费了
mapred.min.split.size
和mapred.max.split.size
,但我需要一些示例值来开始使用
不过,从我在互联网上读到的帖子来看,用GZip输入文件为Hadoop流媒体任务处理GBs数据似乎不会招致太多的惩罚,因为从S3中读取数据是值得考虑的
你能否分享:
我猜调整
mapred.min.split.size
和mapred.max.split.size
并保持上述3个值与S3的最佳关系将在作业执行时产生很大变化。读取Gzip文件无法并行化。通过将所有文件连接到一个巨大的文件中并将其压缩,您创建了一个瓶颈。以压缩文件大小大致相同、不小于128Mb且文件数量等于Hadoop群集上还原器数量的方式连接和单独压缩文件,可以获得最佳性能。是否有一些外部工具/脚本,在给定输入路径的情况下,是否将每批未压缩的100MB文件压缩为单个gzip文件?