如何使用 databricks 将一个 azure 数据湖容器中的所有内容传输到另一个容器?

Posted

技术标签:

【中文标题】如何使用 databricks 将一个 azure 数据湖容器中的所有内容传输到另一个容器?【英文标题】:How to transfer all the contents in one azure data lake container to another using databricks? 【发布时间】:2021-03-18 17:38:11 【问题描述】:

我有一个名为 test-container 的容器,我想将 test-container 中的所有文件和文件夹移至 test2-container。如何使用 pyspark 在数据块笔记本中执行此操作?

【问题讨论】:

我们无法帮助您设计代码。您可以通过直接激活复制来实现。你会考虑还是坚持使用笔记本? 【参考方案1】:

您需要挂载两个容器,假设容器不是公共的,(/ 如果它是根文件夹)然后使用 dbfs cli 在之前创建的挂载点之间移动文件/文件夹。

dbfs mv /mnt/folder1 /mnt/folder2.

如果您将容器的访问级别更改为“容器(容器和 blob 的匿名读取访问权限)”,您应该能够直接移动文件,甚至无需创建挂载。

在 Databricks 笔记本中,代码应该是这样的 -

%fs mv /mnt/folder1 /mnt/folder2

【讨论】:

我已经安装了容器,我想知道更多是否可以使用代码,最好是 pyspark 将 1 个已安装容器中的所有文件和文件夹移动到另一个容器。我知道我可以在 azure storage explorer 中复制和粘贴,但我想看看是否可以使用 python spark 这样做。 这不适用于 databricks 笔记本吗? %fs mv /mnt/folder1 /mnt/folder2 哇,我不敢相信做这件事这么容易。那工作得很好。非常感谢!

以上是关于如何使用 databricks 将一个 azure 数据湖容器中的所有内容传输到另一个容器?的主要内容,如果未能解决你的问题,请参考以下文章

作业终止后如何将生成的文件从 Azure Databricks 导出到 Azure DevOps?

如何将所有文件从 blob 存储容器导入和处理到 azure databricks

如何根据 azure databricks 中的列值将静态值传递给动态值

如何强制 Azure 数据工厂数据流使用 Databricks

如何将大量 DDL 从 Dev 导入/重新创建到 Azure Databricks 的 Prod 实例

如何在 Python 中从 Azure Databricks 插入 Azure SQL 数据库