我正在spark壳中执行一些spark(scala)sql代码。 我想知道我正在使用哪个队列,并且如果可能的话,我想知道我正在使用多少内存和执行程序,以及如何对其进行优化?
答案 0 :(得分:4)
当您启动Spark Shell或spark-submit时,可以设置队列名称,执行程序数,执行程序内存,内核总数,每个执行程序的内核数,驱动程序内存等。
这是您可以指定参数的方式。
spark-shell --executor-memory 6G --executor-cores 5 --num-executors 20 --driver-memory 2G --queue $queue_name
您应根据胖执行器或瘦执行器概念根据群集容量来计算这些参数。
如果您仍要检查资源利用率,则可以检查资源管理器页面或SPARK Web UI页面
答案 1 :(得分:2)
您应该在Resource Manager页面上检查Yarn ...在群集上运行的所有作业都将在此页面上列出。单击您的工作,有关该工作的详细信息,您将获得队列信息
答案 2 :(得分:2)
您可以通过命令行选项--queue控制启动Spark Shell时使用哪个队列。如果您无权将作业提交到提供的队列,则Spark Shell初始化将失败。
类似地,您可以在命令行上为其他资源指定其他资源,例如执行者的数量,内存和内核。
当您使用spark提交来提交spark应用程序时,那时候您还提供了相同的内容。