У меня есть кластер Databricks, работающий в Azure, и мне нужны данные для чтения и записи из Azure Data Lake Storage с использованием SparkR
/ sparklyr
. Поэтому я настроил два ресурса .
Теперь мне нужно предоставить среде 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, мог мне здесь помочь. Спасибо!
РЕДАКТИРОВАТЬ: ответ пользователя 10791349 правильный, и он работает. Другое решение - установить внешний источник данных. что является лучшей практикой. В настоящее время это возможно только с использованием Scala или Python, но подключенный источник данных впоследствии становится доступным с помощью SparkR API.