Spark-submit 命令的内存参数

Memory parameters for Spark-submit command

如何计算 spark-submit 命令的最佳内存设置?

我将 4.5 GB 数据从 Oracle 导入 Spark 并执行一些转换,例如与 Hive table 连接并将其写回 Oracle。我的问题是如何提出具有最佳内存参数的 spark-submit 命令。

spark-submit --master yarn-cluster --driver-cores 2 \
--driver-memory 2G --num-executors 10 \
--executor-cores 5 --executor-memory 2G \
--class com.spark.sql.jdbc.SparkDFtoOracle2 \
Spark-hive-sql-Dataframe-0.0.1-SNAPSHOT-jar-with-dependencies.jar

如何计算,驱动程序内存应该是多少,需要多少 driver/executor 内存,需要多少内核等?

也就是说,一般来说,这是一个没有灵丹妙药答案的复杂问题。最佳选择不仅取决于您的数据特征和操作类型,还取决于系统行为(Spark 优化器等)。可以找到一些有用的提示 here