Azure Datalake Store Gen2 使用 scala spark 库从 Databricks 读取文件

Posted

技术标签:

【中文标题】Azure Datalake Store Gen2 使用 scala spark 库从 Databricks 读取文件【英文标题】:Azure Datalake Store Gen2 read files from Databricks using a scala spark library 【发布时间】:2020-06-28 08:22:42 【问题描述】:

我正在尝试在 Azure Databricks(不是笔记本)上部署 Scala 库来执行一些计算。我正在尝试从 Azure Datalake Store Gen 2 目录中读取一些 avro 文件,执行一些操作,然后使用 avro 将其再次存储在另一个目录中。

我正在关注这个guide。

我的理解是我需要挂载 Azure Datalake 的目录,这样我就可以直接从那里读取 avro 文件,所以我需要做这样的事情:

dbutils.fs.mount(
  source = "abfss://<file-system-name>@<storage-account-name>.dfs.core.windows.net/",
  mountPoint = "/mnt/<mount-name>",
  extraConfigs = configs)

我的问题是我不知道如何将“dbutils”对象导入到我的项目中。我还使用Java SDK library(版本12.0.0-preview.6)来检索文件,但基本上我不知道如何使用Databricks。

任何帮助或提示将不胜感激。

【问题讨论】:

【参考方案1】:

如果要使用 dbutils 挂载目录(反之亦然),则不需要 Azure 存储 Java SDK。

dbutils 挂载可用于挂载存储帐户一次,因此之后您只需使用 /mnt 路径即可。

您可以在以下存储库中找到 dbutils:

libraryDependencies += "com.databricks" % "dbutils-api_2.11" % "0.0.4"

更多信息请访问: https://docs.databricks.com/dev-tools/databricks-utils.html#databricks-utilities-api-library

您也可以随时直接使用abfss 路径,因此安装东西不是绝对必要的。

【讨论】:

以上是关于Azure Datalake Store Gen2 使用 scala spark 库从 Databricks 读取文件的主要内容,如果未能解决你的问题,请参考以下文章

Azure Function Python 写入 Azure DataLake Gen2

azure datalake (gen2) 日志中的用户 ID

Azure databricks - 无法使用来自 datalake 存储 gen2 服务的 spark 作业读取 .csv 文件

Azure Databricks - 从 Gen2 Data Lake Storage 运行 Spark Jar

Azure DataLake 存储服务主体的 REST api 无法使用特定于文件夹的访问

DataBricks - 将更改保存回 DataLake (ADLS Gen2)