簡體   English   中英

如何將文件從多個源文件夾復制到 azure 數據湖存儲第 2 代中的目標文件夾

[英]How to copy files from multiple source folders to target folders in azure data lake storage gen 2

我在 ADLS 中有多個文件夾,每個文件夾中都有增量文件。 我的目標是將所有 delta 文件轉換為 parquet 格式,並將其放在不同的文件夾中。 我想在目標中保持與源中相同的文件夾名稱。

我編寫了一個腳本,該腳本以文件夾名稱作為參數,然后將該文件夾中的所有 delta 文件轉換為 parquet 並移動到與源文件夾同名的目標目錄。 下面是代碼片段。

var loadDelta = spark.read.format("delta").load(deltaPath)
loadDelta.write.format("parquet").mode(SaveMode.Overwrite).save(parquetPath)

在這里,我必須為每個文件夾定義 deltaPath(源文件夾)和 parquetPath(目標文件夾)……如果我必須將其擴展到 100 個文件夾,這會適得其反。 我想知道是否有一種方法可以使用代碼轉換源目錄中存在的所有文件夾的文件,並將其放置在類似文件夾結構的目標目錄中。

例如,這是源目錄,它有 4 個文件夾/表。 每個文件夾中都有增量文件。 源目錄

目的是在測試目錄(目標)中創建相同的 4 個文件夾名稱,而不提供任何特定的文件夾名稱作為輸入,並使用轉換代碼將文件轉換為鑲木地板格式。

所需目標目錄

轉換過程如何遞歸執行。 任何線索/建議將不勝感激。

您可以使用 copyData 活動創建 DataFactory 管道。 您只需在 Source 輸入(在 copyData 活動配置中)中定義數據文件夾目標,並在 Sink 中使用 Parquet 格式(在 copyData 活動配置中)定義目標數據文件夾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM