spark.conf.set 使用 SparkR
spark.conf.set with SparkR
我在 Azure 上有一个 Databricks 集群 运行,我想使用 SparkR
/ sparklyr
从 Azure Data Lake Storage 读取/写入数据。因此我配置了两个resources.
现在我必须为 Spark 环境提供必要的配置以针对 Data Lake Storage 进行身份验证。
使用 PySpark API
设置配置有效:
spark.conf.set("dfs.adls.oauth2.access.token.provider.type", "ClientCredential")
spark.conf.set("dfs.adls.oauth2.client.id", "****")
spark.conf.set("dfs.adls.oauth2.credential", "****")
spark.conf.set("dfs.adls.oauth2.refresh.url", "https://login.microsoftonline.com/****/oauth2/token")
最后应该用SparkR
/ sparklyr
。在这里我不知道在哪里设置 spark.conf.set
。我会猜到是这样的:
sparkR.session(
sparkConfig = list(spark.driver.memory = "2g",
spark.conf.set("dfs.adls.oauth2.access.token.provider.type", "ClientCredential"),
spark.conf.set("dfs.adls.oauth2.client.id", "****"),
spark.conf.set("dfs.adls.oauth2.credential", "****"),
spark.conf.set("dfs.adls.oauth2.refresh.url", "https://login.microsoftonline.com/****/oauth2/token")
))
如果使用 SparkR
API 的专家之一可以帮助我,那就太棒了。谢谢!
编辑:
user10791349 的回答是正确的并且有效。另一种解决方案是安装外部 data source,这是最佳做法。这目前只能使用 Scala 或 Python 但安装的数据源之后可以使用 SparkR API.
sparkConfig
should be
named list of Spark configuration to set on worker nodes.
所以正确的格式是
sparkR.session(
... # All other options
sparkConfig = list(
spark.driver.memory = "2g",
dfs.adls.oauth2.access.token.provider.type = "ClientCredential",
dfs.adls.oauth2.client.id = "****",
dfs.adls.oauth2.credential = "****",
dfs.adls.oauth2.refresh.url ="https://login.microsoftonline.com/****/oauth2/token"
)
)
请记住,许多配置只有在没有活动会话时才会被识别。
我在 Azure 上有一个 Databricks 集群 运行,我想使用 SparkR
/ sparklyr
从 Azure Data Lake Storage 读取/写入数据。因此我配置了两个resources.
现在我必须为 Spark 环境提供必要的配置以针对 Data Lake Storage 进行身份验证。
使用 PySpark API
设置配置有效:
spark.conf.set("dfs.adls.oauth2.access.token.provider.type", "ClientCredential")
spark.conf.set("dfs.adls.oauth2.client.id", "****")
spark.conf.set("dfs.adls.oauth2.credential", "****")
spark.conf.set("dfs.adls.oauth2.refresh.url", "https://login.microsoftonline.com/****/oauth2/token")
最后应该用SparkR
/ sparklyr
。在这里我不知道在哪里设置 spark.conf.set
。我会猜到是这样的:
sparkR.session(
sparkConfig = list(spark.driver.memory = "2g",
spark.conf.set("dfs.adls.oauth2.access.token.provider.type", "ClientCredential"),
spark.conf.set("dfs.adls.oauth2.client.id", "****"),
spark.conf.set("dfs.adls.oauth2.credential", "****"),
spark.conf.set("dfs.adls.oauth2.refresh.url", "https://login.microsoftonline.com/****/oauth2/token")
))
如果使用 SparkR
API 的专家之一可以帮助我,那就太棒了。谢谢!
编辑: user10791349 的回答是正确的并且有效。另一种解决方案是安装外部 data source,这是最佳做法。这目前只能使用 Scala 或 Python 但安装的数据源之后可以使用 SparkR API.
sparkConfig
should be
named list of Spark configuration to set on worker nodes.
所以正确的格式是
sparkR.session(
... # All other options
sparkConfig = list(
spark.driver.memory = "2g",
dfs.adls.oauth2.access.token.provider.type = "ClientCredential",
dfs.adls.oauth2.client.id = "****",
dfs.adls.oauth2.credential = "****",
dfs.adls.oauth2.refresh.url ="https://login.microsoftonline.com/****/oauth2/token"
)
)
请记住,许多配置只有在没有活动会话时才会被识别。