我對 azure 資料工廠有點陌生,如果我遺漏了任何明顯的東西,我深表歉意。我已經進行了幾次搜索,但找不到任何非常合適的內容。
所以情況是我們有一個現有的管道,它將采用 csv 檔案的路徑并將其作為分隔資料集傳遞。作為接收器,它使用鑲木地板資料集。這是一個通用程序,我們可以將任何分隔檔案傳遞到其中,并將其輸出為 parquet。
這一直運行良好,但現在我們已經開始接收標題中帶有空格和特殊字符的檔案,這會導致輸出拼花失敗。不幸的是,我們無法控制收到的檔案的格式,因此我無法在源頭上處理此問題。
我想做的是在攝取檔案時用下劃線替換標題中的任何空格和其他特殊字符。如果我在內部執行此操作,我可以快速創建一個 powershell 腳本來執行此操作。我曾想過在 AFD 中創建一個自定義任務來呼叫 powershell 腳本在 blob 存盤中執行此操作,但這似乎比應有的更復雜。我還能做些什么來讓這個程序正常作業,同時保持它的通用性?
uj5u.com熱心網友回復:
正如@Joel Cochran 提到的,您可以在選擇轉換中使用以下運算式來替換標題中的空格和特殊字符。
regexReplace($$,'[^a-zA-Z]','_')
來源:

在選擇轉換中,洗掉自動映射并添加新的規則庫映射以使用此運算式。

預覽:

uj5u.com熱心網友回復:
假設您正在使用此活動,您可以不直接在復制活動中更改輸出檔案名。
解決方法是使用一個引數作為您可以清理的檔案名輸出。
- 您可以使用獲取元資料活動從源 csv 檔案中獲取所有檔案名。
- 然后使用 foreach 活動遍歷這些檔案。
- 在 foreach 活動中,您可以使用帶有清除值的新名稱設定輸出檔案名。
該函式可能如下所示:
@replace(@item.name, ' ', '_')
有關替換功能的更多資訊
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/325186.html
上一篇:來自Azure函式的C#HttpClientPOST請求帶有用于第三方API的授權標記,被剝離了標頭和正文
下一篇:誰以及何時洗掉了azure資源組
