已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。
昨天关门了。
Improve this question
我正在尝试从Hadoop原始表读取100 GB文件(默认配置单元文件格式,即textfileformat),并执行转换,然后在群集模式下使用spark将其写回HDFS,参数如下:
driver_memory=16g
executor_memory=8g
executor_cores=4
num_executors=64
同时,它读取具有许多输入拆分的数据,大约800个输入拆分,需要2个小时来读取和处理数据。80%的时间是从HDFS原始表读取数据。
我们是否可以减少此时间并提高性能?或者是否有任何参数可以将输入拆分读取大小从默认的128 MB更新为任何其他大小?
1条答案
按热度按时间krcsximq1#
要在Spark中处理大文件时提高性能,可以尝试增加HDFS原始表的块大小、增加分区数量、增加读缓冲区大小、增加读并行度、增加JVM内存、使用更高效的文件格式以及使用缓存。
要在从HDFS原始表阅读数据时减少输入拆分并提高性能,可以通过将
spark.sql.files.maxPartitionBytes
配置属性设置为所需大小来增加输入拆分大小。