Spark Executor在将数据框写入镶木地板时表现不佳

问题描述 投票:2回答:1

Spark版本:2.3 hadoop dist:azure Hdinsight 2.6.5平台:Azure存储:BLOB

集群中的节点:6个执行程序实例:每个执行程序6个核心:每个执行程序3个内存:8GB

尝试通过同一存储帐户上的火花数据框将天蓝色blob(wasb)中的csv文件(大小4.5g - 280 col,2.8 mil行)加载到镶木地板格式。我已经重新划分了不同大小的文件,即20,40,60,100,但面临一个奇怪的问题,处理一小部分记录(<1%)的6个执行者中的2个继续运行1小时左右并最终完成。

题 :

1)由这两个执行程序处理的分区具有最少的处理记录(小于1%),但需要几乎一个小时才能完成。这是什么原因。这与数据偏斜情况相反吗?

2)运行这些执行程序的节点上的本地缓存文件夹正在填满(50-60GB)。不确定这背后的原因。

3)增加分区确实将整个执行时间缩短到40分钟,但是想知道只有这两个执行器的低通过背后的原因。

新的火花,所以期待一些指针来调整这个工作量。附加的Spark WebUi的附加信息。

performance apache-spark apache-spark-sql parquet apache-spark-2.0
1个回答
0
投票

您使用的是什么hadoop集群环境?

1)Ans:您在编写文件时是否会唱出partitionColumnBy?别的,试试看。

2)Ans:增加分区数,即使用“spark.sql.shuffle.partitions”

3)Ans:需要更多特定信息,如样本数据等来给出答案。

© www.soinside.com 2019 - 2024. All rights reserved.