EMR 集群大小对使用 spark 从 S3 读取数据有影响吗

does EMR cluster size matters to read data from S3 using spark

设置:最新 (5.29) AWS EMR、spark、1 master 1 node。

第 1 步。我使用 S3Select 解析文件并收集所有文件密钥以从 S3 中提取。 第 2 步。使用 pyspark 循环迭代键并执行以下操作

火花 。读 格式("s3selectCSV") .load(键) .limit(超高值) .show(超高值)

用了 x 分钟。

当我将集群增加到 1 个主节点和 6 个节点时,我没有看到时间差异。在我看来,我没有使用增加的核心节点。
其他一切,明智的配置都是开箱即用的默认设置,我没有设置任何东西。

所以,我的问题是集群大小对于使用 EMR、Spark 从 S3 读取和检查(比如日志或打印)数据是否重要?

有几件事要记住。

  1. 你确定执行者确实增加了因为 增加节点?或者你可以在 spark 提交期间指定它们 --num-executors 6。更多的节点确实意味着没有更多的执行者被旋转。
  2. 接下来,csv 文件的大小是多少?大约 1MB?那么你不会看到太大的区别。确保至少有 3-4 GB

是的,大小很重要。对于我的用例,sc.parallelize(s3fileKeysList)parallelize 原来是关键。