Spark Databricks 本地文件 API
Posted
技术标签:
【中文标题】Spark Databricks 本地文件 API【英文标题】:Spark Databricks local file API 【发布时间】:2019-11-26 19:00:31 【问题描述】:我正在尝试构建在 spark DataBricks 中完成的处理的摘要/报告。 我遇到了下面的一段代码,它允许将数据写入 dbfs 以及 ADLS(通过挂载点),但是当我将代码打包到 jar 中并尝试将其作为 DataBricks 作业执行时,问题就出现了,我得到了文件没有发现异常,现在想知道如何在不使用笔记本的情况下将数据写入存储。
import java.io.File
import java.io.PrintWriter
val writer = new PrintWriter(new File("/dbfs/mnt/data/out-01/test-01"))
writer.write("Hello Developer, Welcome to Programming.")
writer.write("Hello Developer, Welcome to Programming 2.")
writer.close()
我从 DataBricks 发现了 DButils,但没有看到任何我可以使用的示例代码/文档。 任何有关它的帮助将不胜感激。
【问题讨论】:
【参考方案1】:如果你的notebook由下图创建挂载ADLS,是的,你可以在databricks的当前会话中直接将日期写入dbfs。
所以我认为打包到jar文件的代码中缺少DBFS挂载点的必要代码。
请参考以下官方文档,了解如何在您的代码中直接访问 ADLS v1 和 v2。
-
Azure Data Lake Storage Gen1
Azure Data Lake Storage Gen2
同时,如果没有 databricks 库,您还可以使用 ADLS SDK 和 REST API 更改您的代码,以在不使用 DBFS 的情况下编写代码并在 databricks 中运行。
【讨论】:
感谢 Peter 的回复,所以在我的代码中,我将提供详细信息,然后创建要访问的挂载点。我可以试试看它是如何工作的。但是我不应该直接从我的代码中使用没有任何挂载点的 dbfs 文件系统吗?它也不起作用以上是关于Spark Databricks 本地文件 API的主要内容,如果未能解决你的问题,请参考以下文章
无法通过 Databricks 上的本地文件 API 访问文件
如何使用 databricks-connect 在本地执行 Spark 代码?
读取 csv 文件时 MS Databricks Spark 中绝对 URI 中的相对路径
Databricks (Spark):.egg 依赖项未自动安装?