嗨@Sparktaculer,當使用Scala從GCS讀取一個文件,如果文件路徑包含方括號,你可以嚐試使用URL編碼編碼方括號。例如,替換“[”與“% 5 b”和“]”與“% 5 d”。然後在您的代碼中使用編碼的文件路徑。
這裏有一個例子:
進口org.apache.hadoop.fs。{文件係統、路徑}
進口java.net.URI
= " val路徑g: / /桶/道路/ / % 5 bsquare % 5 d / brackets.csv”
val fs =文件係統。get(新的URI(路徑),sc.hadoopConfiguration)
val文件= fs。打開(新路徑(路徑))
val行= scala.io.Source.fromInputStream(文件).getLines ()
在本例中,文件路徑包含方括號編碼為“% 5 b”和“% 5 d”。的FileSystem.get
方法用於處理到文件係統,以及fs.open
方法是用來打開文件。最後,scala.io.Source.fromInputStream
方法用於讀取文件的內容。來源:
- - - - - -https://docs.www.eheci.com/data/data-sources/read-gcs.html
- - - - - -https://en.wikipedia.org/wiki/Percent-encoding
嗨@Kaniz!謝謝你的幫助。
然而,當我托盤使用你代碼我還得到一個錯誤:“URISyntaxException:非法字符在路徑索引”
我想讀一個txt文件。這是文件路徑:
globPaths在火花中,您可以禁用該選項。這將跳過期間發生的模式匹配文件讀取。
spark.read。選項(“__globPaths__”,假).format (" ") .load (“[]”)
我們還沒有聽到來自你自從上次反應@Tharun-Kumar和@Kaniz,我檢查看看她的建議幫助你。
否則,如果你有任何解決方案,請與社區分享,因為它可以幫助別人。
同時,請別忘了點擊“選擇最佳”按鈕時提供的信息幫助解決你的問題。