簡體   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