繁体   English   中英

从数据湖重命名 Azure Databricks 中的文件时出现问题

[英]Problem when rename file in Azure Databricks from a data lake

我正在尝试使用“rename ()”函数通过“import os”库在 Azure Databricks 中使用 Python 重命名文件,这确实非常简单,但是在 Databricks 中执行此操作时,我无法到达路径我的文件是。 在数据湖中,但是执行命令“% fs ls path_file”是的,我看到了,我什至可以读取它并使用 pyspark 处理它而不会出现问题。

我留下我的代码示例:

import os
old_name = r"/mnt/datalake/path/part-00000-tid-1761178-3f1b0942-223-1-c000.csv"
new_name = r"/mnt/datalake/path/example.csv"

os.rename(old_name, new_name)

上面返回找不到路径或文件的错误,但“ls”命令执行相同的路径而没有问题。

另一方面,我试图用 pySpark 重命名文件,但它使用了一个我没有安装的 hadoop 库(org.apache.hadoop.conf.Configuration),我无法在生产环境中安装它......

我会错过什么?

如果您使用os.rename ,则需要将文件引用为/dbfs/mnt/...因为您使用本地 API 来访问 DBFS

但实际上,使用dbutils.fs.mv进行文件重命名可能会更好:

old_name = r"/mnt/datalake/path/part-00000-tid-1761178-3f1b0942-223-1-c000.csv"
new_name = r"/mnt/datalake/path/example.csv"

dbutils.fs.mv(old_name, new_name)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM