我正在使用spark sql来读取坐在S3中的ORC格式的2个不同数据集。但对于几乎相似大小的数据集来说,阅读中的性能差异非常大。同样大小但不同行长度的Spark读取性能差异
数据集1:包含2.12亿记录每个50列并且在S3存储桶兽人格式总量可达15GB。
数据集2:包含29000000记录每个150列并且在相同S3桶兽人格式总量可达15GB。
数据集1正在使用2分钟使用spark sql进行读取。并且在相同的基础设施中采用相同的火花读取/计数作业来读取数据集2的12分钟。
每行的长度可能会导致这种巨大的差异。任何人都可以帮助我理解阅读这些数据集时巨大性能差异背后的原因吗?
我正在使用亚马逊EMR和他们的S3客户端..任何我可以尝试测试性能?注意:数据集1中的文件数量更多(数据集2中的文件数量为300)。 –
我怀疑它比#of文件跳过的次数多,但您可以尝试更多地分割文件。测试性能? ,也许从本地安装Hadoop 2.8并使用“用户提供的JARs”https://spark.apache.org/downloads.html进行启动......将其粘贴到虚拟机中,然后将该搜索与第二个数据集。其他策略。将它全部下载到本地,并比较文件中的perf:// ..这可以是基准 –