amazon-web-services - 如何根据 Parquet 输入配置 PySpark 作业?
问题描述
我有的
HDFS 上 Parquet 格式的 2 个数据集:
- 1.6T(parquet解压后为2.8T),31列,我假设没有数据倾斜,所有数据均匀分布在HDFS上
- 200G(parquet解压后为360G),5列,无数据倾斜,数据分布均匀
我使用 AWS EMR 集群来运行 PySpark 作业。
我需要做什么
由于实验并不便宜,我什至在集群上运行它之前,想根据输入配置和我的假设来计算 PySpark 作业配置。
这里有一些细节。我需要通过一个id列连接数据集,以使用来自第二个数据集(200G)的数据(只有 3 列:string、string、struct<int、string、string> )来丰富第一个数据集(1.6T)。
问题
如何确定我的 PySpark 作业需要请求的executors、cpu cores、memory和[disk?]的数量?
(有什么通用公式吗?)