取消
顯示的結果
而不是尋找
你的意思是:

我很好奇是否有人寫過一個文件與一個定製的S3文件名嗎?

dsugs
新的貢獻者二世

所以我一直在寫一個文件S3 bucket給它一個自定義名稱,我試著剛剛結束的一切文件轉儲到一個文件夾名稱指定的輸出是像“…/ file_name / - 001.鋪”。而不是我想要的文件顯示為“/ file_name.parquet”。

1接受解決方案

接受的解決方案

赫曼特
重視貢獻二世

@dsugs謝謝你張貼在這裏。

您需要使用重新分配(1)寫一個文件分割成s3,然後你必須移動單一文件給你destination_path文件名。
您可以使用下麵的代碼片段:

output_df.repartition (1) .write.format (file_format) .mode (write_mode) .option(“標題”、“true”)。選項(“inferSchema”,“真正的”).save (output_path)幀= [y.name y dbutils.fs.ls (output_path)如果y.name.startswith(”——“部分)]dbutils.fs。mv (output_path + " +幀[0],f“{output_path} .parquet”) dbutils.fs.rm (output_path)

#這段代碼首先獲取output_path目錄中所有文件的列表#開始”——“一部分。這是因為火花output_path鋪寫文件

#目錄分區,我們隻想第一個分區。

#下一行第一個分區移動到一個名為output_path.parquet的新文件。

#最後,代碼刪除output_path目錄。

赫曼特索尼

在原帖子查看解決方案

4回複4

Tharun-Kumar
重視貢獻三世
重視貢獻三世

@dsugs
這不能直接完成。我們隻有提供的目錄名稱。一部分文件基本上是一個在許多文件數據目錄下。所以,如果你要的名字file_name。拚花,那麼你必須像file_name2名字第二個文件。拚花等。通常建議不要修改數據目錄下的文件名。但是如果你仍然堅持這樣做,你可以做一個文件複製水平使用dbutils.fs.cp()命令和重命名文件唯一在一個不同的位置。

赫曼特
重視貢獻二世

@dsugs謝謝你張貼在這裏。

您需要使用重新分配(1)寫一個文件分割成s3,然後你必須移動單一文件給你destination_path文件名。
您可以使用下麵的代碼片段:

output_df.repartition (1) .write.format (file_format) .mode (write_mode) .option(“標題”、“true”)。選項(“inferSchema”,“真正的”).save (output_path)幀= [y.name y dbutils.fs.ls (output_path)如果y.name.startswith(”——“部分)]dbutils.fs。mv (output_path + " +幀[0],f“{output_path} .parquet”) dbutils.fs.rm (output_path)

#這段代碼首先獲取output_path目錄中所有文件的列表#開始”——“一部分。這是因為火花output_path鋪寫文件

#目錄分區,我們隻想第一個分區。

#下一行第一個分區移動到一個名為output_path.parquet的新文件。

#最後,代碼刪除output_path目錄。

赫曼特索尼

Vidula_Khanna
主持人
主持人

@dsugs

希望你是好。隻是想看看你是否能夠找到一個回答你的問題,你想要一個答案標記為最好?它對其他成員也將很有幫助。

幹杯!

rdkarthikeyan27
新的貢獻者二世

火花的特性,以避免網絡io寫道每個洗牌分區作為一個部分…磁盤上的文件,每個文件像你說的會默認壓縮和編碼效率。

是的這是直接關係到並行處理! !

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map