我有一個大的三角洲表分區的標識符列,我現在已經發現有空格的標識符,例如一個分區可以定義為“標識符=第一標識符”。大多數分區沒有這些空格的標識符,這沒有問題,直到現在當我想使用
REORG表table_name應用(清洗)
重寫文件和擺脫一些最近刪除列。
當運行REORG時,我得到的
錯誤的SQL語句:SparkException:工作階段失敗而終止:……java.net.URISyntaxException:非法字符在路徑索引…
指著空格的路徑”dbfs: / mnt /集裝箱/ table_name /標識符=第一標識符/部分- 01347 - 8 a9a157b - 6 - d0d - 75 - dd - b1b7 aed12e057db.c000.snappy.parquet——2”。
請注意,這不是一個問題在運行優化在同一分區。
有人知道怎麼解決嗎?我唯一能想到的前進是排除問題的分區從REORG,但這是一個解決方案,而不是一個解決方案。感謝任何技巧一個實際的解決方案
嗨@bearys,錯誤消息提示非法字符的路徑在一個特定的索引。
錯誤是指向一個空白的空間路徑”dbfs: / mnt /集裝箱/ table_name /標識符=第一標識符/部分- 01347 - 8 a9a157b - 6 - d0d - 75 - dd - b1b7 aed12e057db.c000.snappy.parquet——2”。
這個錯誤可能發生由於特殊字符的路徑。為了解決這個問題,你可以試著用下劃線代替空格的路徑或刪除特殊字符的路徑。或者,你可以試試URL編碼的路徑用相應的轉義序列替換特殊字符。