火花:HDFS块vs集群核心vs rdd分区

时间:2019-08-15 20:19:22

标签: apache-spark apache-spark-sql

我确实对火花有疑问:HDFS块vs集群核心vs rdd分区。

假设我正在尝试在HDFS中处理文件(例如,块大小为64 MB,文件为6400 MB)。因此,理想情况下,它确实可以进行100次分割。

我的集群总共有200个核心,我提交了包含25个执行器的作业,每个执行器具有4个核心(意味着可以运行100个并行任务)。

简而言之,我在rdd中默认有100个分区,并且将运行100个内核。

这是一个好方法吗,还是应该将数据重新分区到200个分区并使用集群中的所有内核?

1 个答案:

答案 0 :(得分:0)

由于总共有200个核心,因此根据所运行的工作负载的种类来使用它们可以提高性能。

将您的Spark应用程序配置为使用50个执行程序(即,Spark可以使用所有200个内核)。还将您的火花分割大小从64 MB更改为32 MB。这样可以确保将6400 MB的文件划分为200个RDD分区,以便可以使用您的整个群集。

请勿使用重新分区-由于涉及随机播放,因此速度会很慢。