我有来自parquetS3的1 TB数据要加载到AWS Glue Spark作业中。我正在尝试计算此类要求所需的工作器数量。
下面是G.1x
配置的详细信息:
因此,如果我采取50 workers
. 1将被停放在一边的驱动程序和1的主节点.所以,我离开了48现在.所以,48 * 10 = 480 GB内存(因为1执行器需要10 GB内存).此外,64 * 48 = 3072 GB ~ 3 TB磁盘.如果有任何数据溢出需要然后磁盘将被使用.
那么,这个配置正确吗?如果不正确,我需要增加或减少工人吗?任何帮助都非常感谢。另外,如果将来我有很多collect
操作,那么我如何增加driver
内存,现在是16GB
?
1条答案
按热度按时间cl25kdpy1#
首先,没有直接的统计或数学公式来计算所需的DPU数量,因为它取决于人们试图解决的问题的性质:
现在来回答你的问题,假设你使用GSP2.0,为了估计DPU的数量,(或工作人员)所需,您应该在AWS Glue中启用作业指标,这些指标可以给予您所需的洞察力,以了解作业执行时间、活动执行器、已完成阶段,以及扩展所需的最大执行者/使用这些指标,您可以可视化并确定您的情况所需的最佳DPU数量。
您可以尝试运行虚拟作业或实际作业1次,使用度量并确定DPU的最佳数量(从成本和作业完成时间的Angular )。
例如,尝试使用50个工作人员运行,分析您的资源调配不足因素,然后使用该因素扩展您的当前容量。
您可以阅读更多关于AWS link和external link的信息。
对于您的其他问题,增加驱动程序内存,我建议联系您的AWS支持或尝试使用G2.X,它有20 GB的驱动程序内存。