在 Vertica DB 中,我們有一個以逗號分隔或包含在引號內的屬性列(雙引號和單引號都適用)。當我們在 Vertica DB 上執行 s3 匯出查詢時,我們會得到 CSV 檔案,但是當我們通過在線 CSV 驗證器或格式化的 s3 選擇查詢對其進行驗證時,我們會收到錯誤訊息。
SELECT S3EXPORT(* USING PARAMETERS url='xxxxxxxxxxxxxxxxxxxx.csv', delimiter=',', enclosed_by='\"', prepend_hash=false, header=true, chunksize='10485760'....
以及如何解決這個問題的建議?PS:手動讀取每一行并檢查列不是選擇
示例屬性:-
select uid, cid, att1 from table_name where uid in (16, 17, 15);
uid | cid | att1
----- ------- ---------------------
16 | 78940 | yel,k
17 | 78940 | master#$;@
15 | 78940 | "hello , how are you"
uj5u.com熱心網友回復:
從版本 11 開始不推薦使用 S3EXPORT()。我們目前處于版本 12。
現在,您將像這樣匯出:
EXPORT TO DELIMITED(
directory='s3://mybucket/mydir'
, filename='indata'
, addHeader='true'
, delimiter=','
, enclosedBy='"'
) OVER(PARTITION BEST) AS
SELECT * FROM indata;
使用您的三行,這將生成以下內容:
dbadmin@gessnerm-HP-ZBook-15-G3:~$ cat /tmp/export/indata.csv
uid,cid,att1
15,78940,"\"hello \, how are you\""
16,78940,"yel\,k"
17,78940,"master#$;@"
你需要不同的格式嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/516671.html
標籤:亚马逊-s3垂直
