如何从 SparkR 会话中设置 YARN 队列?
How to set a YARN queue from within a SparkR session?
如果我使用 SparkR(不是 spark-submit
)初始化 Spark 会话,像这样...
library(SparkR, lib.loc = c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib")))
sparkR.session()
有没有办法设置队列?我试过这样的事情:
sparkR.session(queue = "queue_name")
但似乎没有用。我在 SparkR 中成功使用队列的唯一方法是使用已弃用的 init()
函数:
sc <- SparkR::sparkR.init(master = "yarn-client", sparkEnvir = list(spark.yarn.queue="queue-name"))
hiveContext <- sparkRHive.init(sc)
但这会引发警告:'SparkR::sparkR.init' is deprecated.
这如何转化为 sparkR.session()
?
启动spark R时,Spark Session已经生成。
您需要停止当前会话并启动一个新会话以设置所需的设置。
我使用以下
sparkR.stop()
sparkR.session(
# master="local[2]", # local master
master="yarn", # cluster master
appName="my_sparkR",
sparkConfig=list(
spark.driver.memory="4g",
spark.executor.memory="2g",
spark.yarn.queue="your_desired_queue"
)
)
从 Spark 监控页面验证设置是否已正确更新。
如果我使用 SparkR(不是 spark-submit
)初始化 Spark 会话,像这样...
library(SparkR, lib.loc = c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib")))
sparkR.session()
有没有办法设置队列?我试过这样的事情:
sparkR.session(queue = "queue_name")
但似乎没有用。我在 SparkR 中成功使用队列的唯一方法是使用已弃用的 init()
函数:
sc <- SparkR::sparkR.init(master = "yarn-client", sparkEnvir = list(spark.yarn.queue="queue-name"))
hiveContext <- sparkRHive.init(sc)
但这会引发警告:'SparkR::sparkR.init' is deprecated.
这如何转化为 sparkR.session()
?
启动spark R时,Spark Session已经生成。 您需要停止当前会话并启动一个新会话以设置所需的设置。
我使用以下
sparkR.stop()
sparkR.session(
# master="local[2]", # local master
master="yarn", # cluster master
appName="my_sparkR",
sparkConfig=list(
spark.driver.memory="4g",
spark.executor.memory="2g",
spark.yarn.queue="your_desired_queue"
)
)
从 Spark 监控页面验证设置是否已正确更新。