EMR 集群大小对于使用 Spark 从 S3 读取数据是否重要



设置:最新 (5.29( AWS EMR,Spark,1 个主节点。

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

火花 。读 .format("s3selectCSV"( .load(key( .限制(超高值( .show(超高值(

花了 x 分钟。

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

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

要记住的几件事。

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

是的,大小确实很重要。 对于我的用例,sc.parallelize(s3fileKeysList)并行被证明是关键。

最新更新