簡體   English   中英

火花作業寫入NFSv3掛接卷的Umlaut問題

[英]Umlaut problems with Spark job writing to an NFSv3 mounted volume

我正在嘗試在火花作業期間將文件復制到nfsv3安裝的卷。 有些文件包含變音符號。 例如:

輸入的格式錯誤或輸入包含不可映射的字符:/import/nfsmountpoint/Währungszählmaske.pdf

在以下scala代碼行中發生錯誤:

//targetPath is String and looks ok    
val target = Paths.get(targetPath)

盡管spark計算機上的linux語言環境設置為en_US.UTF-8,但文件編碼顯示為ANSI X3.4-1968。

我已經嘗試使用以下參數來更改spark作業本身的語言環境:

--conf 'spark.executor.extraJavaOptions=-Dsun.jnu.encoding=UTF8 -Dfile.encoding=UTF8'

--conf 'spark.driver.extraJavaOptions=-Dsun.jnu.encoding=UTF8 -Dfile.encoding=UTF8'

這樣可以解決該錯誤,但是目標卷上的文件名看起來像這樣:/import/nfsmountpoint/W?hrungsz?hlmaske.pdf

卷掛載點是:

hnnetapp666.mydomain:/vol/nfsmountpoint on /import/nfsmountpoint type nfs (rw,nosuid,relatime,vers=3,rsize=65536,wsize=65536,namlen=255,hard,noacl,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=4.14.1.36,mountvers=3,mountport=4046,mountproto=udp,local_lock=none,addr=4.14.1.36)

有可能解決此問題的方法嗎?

通過設置如上所述的編碼設置並手動從UTF-8轉換為UTF-8來解決此問題:

編碼轉換解決方案

僅將NFSv4與UTF-8支持一起使用將是一個更簡單的解決方案。

暫無
暫無

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

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