我试图找出利用集群资源执行spark作业的最佳方法。以下是我的群集详细信息:
群集中活动节点总数:100
每个节点上的核心总数:16个核心
群集上可用的核心总数:100个节点16个核心=1600个核心
每个节点上的内存分配(ram):64 gb
群集上的总内存:64gb100个节点=6400 gb
现在我需要使用spark job处理两个文件,并通过spark sql执行连接操作,并将输出Dataframe保存到hive表中。这两种文件大小是file1.csv(30 gb)和file2.csv(10 gb)。
下面是我的问题:
我需要分配多少spark驱动程序内存(--driver memory),为什么?
我需要定义多少spark执行器(-num executors)以及为什么?
我需要分配多少spark executor内存(--executor内存),为什么?
需要指定多少驱动程序和执行程序内核?
让我知道,如果任何额外的内存配置也需要更好的并行处理?
提前谢谢。
暂无答案!
目前还没有任何答案,快来回答吧!