简单的Spark作业花费太多时间处理太多任务

时间:2018-06-23 19:27:31

标签: hadoop pyspark apache-spark-sql

我有一个hortonworks hadoop集群,其中有以下内容:

  • Ram的8cores和16go (Namenode,Application Master,nodemanager以及spark master和worker)。
  • Ram的4核和8go (数据节点,nodemanager和worker)。
  • Ram的4核和4go (数据节点,nodemanager和worker)。
  • Ram的4核和4go (数据节点,nodemanager和worker)。

所以我将以下配置用于spark:

pyspark --master yarn-client --driver-memory 2g --executor-memory 5g --num-executors 4 --executor-cores 3

Spark environment
Spark Executors

并且我有两个数据帧,例如spark Parquets(glob和ind):

  • ind:2.2 GB数据(24列5003498记录)
  • 全球:3.5 GB数据(53列270338406记录)

ind dataframe disque usage
glob dataframe disque usage

这两个数据帧按年,月和日划分,并具有相同数量的年,月和日。

我正在2个数据帧上运行一个简单的计数作业。

“ ind”数据帧(小)需要23分钟。 而一个大的“全局”数据帧需要1.5分钟。

ind dataframe count job
ind dataframe job duration and tasks
glob dataframe count job
glob dataframe job duration and tasks

我不明白为什么这个小男孩花太长时间并且有太多任务。

我非常感谢您的帮助,谢谢大家

0 个答案:

没有答案