我需要在 Azure Datalake Gen2 上使用 Alteryx 創建一個 csv 檔案,從具有可能包含逗號的字串欄位的表中讀取。我在 Alteryx 流中使用“Azure Data Lake File Output”連接器(據我所知,它不允許我選擇 csv 分隔符)

Alteryx 僅在包含逗號的字串欄位上放置雙引號(似乎 Alteryx 自動使用逗號作為分隔符),但我需要 Alteryx 在所有字串欄位上放置雙引號。我嘗試使用多欄位公式
'"' [_currentfield_] '"'
但是隨后 csv 在每個字串欄位的開頭和結尾都有 3 個雙引號(這是因為引號是特殊字符)。
有什么辦法可以解決這個問題嗎?或者,有沒有辦法在“Azure Data Lake File Output”連接器中定義特定的分隔符?
出現問題是因為從 csv 檔案開始,我們將使用 PolyBase 在 Azure Synapse Analytics 中創建一個外部表。如果字串列包含帶逗號的字串,則 Synapse 將該列識別為兩列,并給出“列太多”錯誤。
非常感謝您的幫助!
uj5u.com熱心網友回復:
用這個:
'"' ToString([_CurrentField_]) '"'
然后,在寫入 CSV 時,\0將輸出圖示中的分隔符更改為:

uj5u.com熱心網友回復:
解決了。有兩種可能的解決方案,一種是 Alteryx,一種是 Synapse。
Alteryx 端:最新版本 2.2.0 支持設定 CSV 分隔符,可在以下鏈接下載 https://community.alteryx.com/t5/Public-Community-Gallery/Azure-Data-Lake-Tools/ta-電話/852262
Synapse 端:在 csv 中,雙引號必須位于包含逗號的字串欄位上(默認情況下,Alteryx“Azure Data Lake File Output”連接器自行執行此操作);然后使用以下鏈接中指示的外部表腳本,確保 PolyBase 將引號內的資料理解為單個值 https://docs.microsoft.com/en-us/answers/questions/118102/polybase-load-csv-包含文本列-w.html 的檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/387310.html
