在pyspark中如何根据数据大小确定集群大小

jaql4c8m  于 2022-12-30  发布在  Apache
关注(0)|答案(1)|浏览(153)

有没有什么方法可以根据数据大小来决定spark集群的大小,而不是使用整个集群的资源。
已尝试分配所有资源和动态分配

jckbn6z7

jckbn6z71#

不能仅使用数据大小度量来指导您选择集群大小的决策。至少有两个其他资源同样重要:
1.处理能力(CPU)--根据计算内容的不同,同一个数据集在合理的时间内完成预期任务所需的处理需求可能有很大的不同。
1.内存(RAM)-缺少RAM可能意味着溢出到磁盘,甚至是OOM异常(更糟糕的是,间歇性的OOM异常!)和处理作业的极度缓慢。
我想表达的是,没有推荐的公式来根据输入数据大小计算集群大小,因为在选择集群大小时,它只是一个维度-没有推荐的CPU+RAM/MB输入数据。
您应该根据讨论的三点(输入数据大小、CPU、RAM)以外的因素来选择集群大小,例如,它是否是多租户集群?它是否始终处于打开状态并等待数据处理?如果它始终处于运行状态,它对数据存储的要求是什么(如果有的话)?它或多或少只是用作处理引擎,这意味着需要更多的CPU?
选择最佳集群大小并不是一个简单的问题。通常它归结为尝试和(昂贵的:))错误。良好的监控设置对于任何更改都至关重要(在资源调配不足的情况下缩减资源,但有时间在需要时进行扩展/自动化以满足不断变化的需求)。

相关问题