我正在尝试在sparklyrsession期间通过H2o(使用库rsparkling)使用一些机器学习功能。我正在运行hadoop集群。考虑以下示例:library(dplyr)library(sparklyr)library(rsparkling)library(h2o)#configurethesparksessionandconnectsc=spark_connect(master='yarn-client',spark_home='/usr/hdp/current/spark-client',app_name='sparklyr',config=list("sparklyr.s
根据官方Spark文档(http://spark.apache.org/docs/latest/job-scheduling.html#configuration-and-setup),在YARN中使用“spark.dynamicAllocation”选项时,您需要:Intheyarn-site.xmloneachnode,addspark_shuffletoyarn.nodemanager.aux-services...setyarn.nodemanager.aux-services.spark_shuffle.classtoorg.apache.spark.network.yarn
我们在提交Spark应用时,一般都会指定executor数量,但我们的任务中有大的任务、也会有小的任务。这时候,我们在处理ETL的时候,会有几种选择,例如:分配一个比较大的资源,例如:请求较多的executor,然后在这之上运行作业。另外一种,为了让ETL运行彼此隔离,每个应用都会分配资源。Spark应用中真正执行task的组件是Executor,可以通过spark.executor.instances指定Spark应用的Executor的数量。在运行过程中,无论Executor上是否有task在执行,都会被一直占有直到此Spark应用结束。在Spark集群中的一个常见场景是,随着业务的不断发