【问题标题】:Access Azure Blob Storage through R通过 R 访问 Azure Blob 存储
【发布时间】:2020-03-13 01:16:50
【问题描述】:

我正在尝试使用 R 连接到存储有一些 CSV 文件的 Azure Blob。在将它们写回另一个 Blob 容器之前,我需要将它们加载到数据框中并对它们进行一些转换。我正在尝试通过 Databricks 执行此操作,因此我最终可以从 Data Factories 调用此笔记本并将其包含在管道中。

Databricks 给了我一个 Python 示例笔记本,可以使用以下代码建立连接:

storage_account_name = "testname"
storage_account_access_key = "..."
file_location = "wasb://example@testname.blob.core.windows.net/testfile.csv"

spark.conf.set(
  "fs.azure.account.key."+storage_account_name+".blob.core.windows.net",
  storage_account_access_key)

df = spark.read.format('csv').load(file_location, header = True, inferSchema = True)

R中有类似的东西吗?我可以在 R 中使用 SparkR 或 Sparklyr 包,如果它可以帮助我加载文件并将其放入 Spark 数据帧中。

【问题讨论】:

    标签: r azure blob databricks azure-data-lake


    【解决方案1】:

    为了您的信息,我被告知 R 无法进行实际安装。解决方法是使用另一种语言(如 Python)挂载并使用库“SparkR”读取文件,如下所示。

    为 Spark 提供 R 接口的两个最常用的库是 SparkR 和 sparklyr。 Databricks 笔记本和作业支持这两个包,但您不能将 SparkR 和 sparklyr 中的函数用于同一个对象。

    使用 Python 挂载:

    使用“SparkR”库运行 R 笔记本:

    【讨论】:

    • 很遗憾,由于我的组织实施 Azure 安全性的方式,我无权访问 Azure Key Vault 来创建范围和密钥。因此,我无法将 Blob 存储挂载到 Databricks 文件系统。我有我的存储帐户名称、存储帐户访问密钥,并且可以生成 SAS 令牌。有了这些,我可以通过 Python 与我粘贴在我的问题中的示例脚本进行连接。但是,我想知道是否可以使用相同的信息通过 R 发起连接。
    • 在 sparklyr 中创建会话时如何在配置中添加 azure 凭据?
    猜你喜欢
    • 2023-03-29
    • 2013-06-25
    • 2021-01-29
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多