无需挂载ADLS到DBFS,Azure数据湖文件跨文件夹迁移方案问询
业务场景与文件迁移实现方案
业务场景
文件接收至folder1,执行特定转换后需迁移至folder2,迁移目的是避免旧文件留存导致重复处理,无需额外过滤操作。
Azure Databricks 实现方式
- 借助
dbutils函数,通过复制+删除两步完成迁移,示例代码:
(注:补充完整文件夹路径并添加dbutils.fs.cp("abfss://abc@storage_account.dfs.core.windows.net/folder1/", "abfss://abc@storage_account.dfs.core.windows.net/folder2/", recurse=True) dbutils.fs.rm("abfss://abc@storage_account.dfs.core.windows.net/folder1/", recurse=True)recurse=True,确保递归处理文件夹内所有内容) - 导入
DataLakeServiceClient库也可实现迁移,但该方式需存储账户密钥,存在安全风险,应尽量避免使用。
Azure Data Factory 实现方式
ADF无直接移动文件的原生机制,可通过以下两步操作实现:
- 利用复制活动将
folder1中所有文件复制到folder2 - 利用删除活动删除
folder1中的已复制文件
内容的提问来源于stack exchange,提问作者Shikha
相关产品推荐
相关产品推荐

