2016-03-28 148 views
1

我想將其他python/csv文件導入到我的python udf中以執行一些操作。
Like,
將表數據(以流的形式逐行輸入)與外部.csv行進行比較。
當我嘗試讀取.csv文件的數據,它給了我一個錯誤Python UDF - 導入/讀取外部文件

IOError: File /home/abc/xyz/myfile.csv does not exist

雖然代碼工作得很好,當它被寫成正規的Python腳本(不喜歡UDF)

回答

1

如果我理解它是正確的。您可以嘗試 添加文件[您的完整文件路徑] 或 添加文件[您的目錄路徑]。

因爲在引用羣集上的任何內容之前,您必須將其添加到分發緩存中,以便代碼可以訪問該部分。 你可以看看它。 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Cli

+0

ADD FILE運作良好的的.csv文件,但沒有的.py,爲.py文件,它拋出一個錯誤「導入模塊找不到」 – Denver

+0

我有同樣的問題,我需要使用外部。 txt文件在我的Python udf文件中;我在我的.sql文件中添加了我的python udf文件作爲「添加文件地址」。但是,我不知道我怎麼能從我的python中引用.txt文件? –

0

注意語法!它可能會導致許多問題,不幸的是,查詢語言解釋器無法顯示問題來自何處,並且只顯示一些通用的錯誤報告。

看看類似的問題,這是由解決文件中的語法問題引起的!

Accessing external file in Python UDF