我目前正在使用线性回归(Spark ML)中的基准评估小型集群上的Spark 2.1.0(3个节点有32个CPU和128 GB Ram)。我只测量了参数计算的时间(不包括开始,数据加载,...)并确认了以下行为。对于小型数据集0.1 Mio - 3 Mio数据点,测量时间并不真正增加,并停留在大约40秒。只有像300 Mio数据点那样的较大数据集,处理时间才会增加到200秒。所以看起来,集群根本没有扩展到小数据集。Spark集群不能缩放到小数据
我还将本地pc上的小数据集与仅使用10个工作站和16GB RAM的集群进行了比较。集群的处理时间增加了3倍。那么这被认为是SPARK的正常行为,并且可以通过通信开销来解释,或者我做错了什么(或者线性回归不是真正具有代表性)?
集群是一个独立的集群(没有Yarn或Mesos)以及90个工作人员提交的基准测试,每个工作人员都有1个内核和4 GB内存。
Spark提交内容: ./spark-submit --master spark:// server:7077 --class Benchmark - 部署模式客户端--total-executor-cores 90 --executor -memory 4g - num-executors 90 .../Benchmark.jar pathToData
我不确定你是否对小0.1-0的表现不满意。3M数据集,还是更大的300M数据集? – ImDarrenG
嗨,我不是不满意的表现。我只是想知道,即使数据已经加载并且相当小,群集花费半分钟计算是正常的。 –
我会说你的观察是合理的。一旦我睡了一觉,我会提供一个更详细的答案 - 如果在此期间没有其他人做了。 – ImDarrenG