问题描述
我正在尝试找出利用集群资源执行 Spark 作业的最佳方法。以下是我的集群详细信息:
- 集群中的活动节点总数:100
- 每个节点上的内核总数:16 个内核
- 集群上可用的内核总数:100 个节点 * 16 个内核 = 1600 个内核
- 每个节点上的内存分配 (RAM):64 GB
- 集群上的总内存:64GB * 100 个节点 = 6400 GB
现在我需要使用 spark 作业处理两个文件并通过 spark sql 执行连接操作并将输出数据帧保存到 Hive 表中。两个文件大小分别为 file1.csv (30 GB) 和 file2.csv (10 GB)。
这里是我的问题:
- 我需要分配多少 Spark Driver 内存 (--driver-memory) 以及为什么?
- 我需要定义多少个 Spark Executor (--num-executors) 以及为什么?
- 我需要分配多少 Spark Executor Memory (--executor-memory) 以及为什么?
- 需要指定多少个驱动程序和执行程序内核?
- 让我知道是否还需要任何额外的内存配置来实现更好的并行处理?
提前致谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)