2017-01-24 32 views
1

我有一個spark集羣上運行的spark代碼,並使用databricks庫將csv轉換爲parquet。namenode.LeaseExpiredException while df.write.parquet從非hdfs源讀取時

當csv源代碼是hdfs時,它工作正常。但是當csv源代碼是非hdfs時,我通常遇到這種情況。 它不應該發生,因爲相同的代碼適用於hdfs csv源。

完成鏈接的問題: https://issues.apache.org/jira/browse/SPARK-19344

+0

什麼是該文件的源接入?它是否可以從所有節點訪問(例如它是否爲url?)。如果節點無法訪問文件(例如,如果它位於本地計算機/節點上) - 應該預期此錯誤 – Yaron

+0

是可以訪問的......權限是hdfs:hdfs 並且它能夠訪問該文件爲我提供的目錄名稱,它自己挑選文件名稱.... 如果無法找到文件,錯誤是不同的。 – taransaini43

+0

它是一個本地文件,雖然...我的意思是在我運行火花提交的機器...提交它作爲主 - 耶... 所以如何給這些文件的輸入路徑不分佈,但是意味着要進一步分佈式處理閱讀(如果不是通過「file:///」) – taransaini43

回答

0

正如在評論中討論。

當文件位於驅動程序節點上但不能被節點訪問時,讀取將失敗。

當使用讀取輸入文件(例如,在火花2.0 spark.read)時,文件應該被所有執行器節點(例如,當文件在HDFS,cassandra等)

+0

@ taransaini43 - 如果我回答了您的問題,請接受/投票表決 – Yaron