在Python UDF中访问外部文件

时间:2017-07-14 22:23:35

标签: python hadoop hive user-defined-functions

我正在使用hive和python udf。我定义了一个sql文件,我在其中添加了python udf并将其调用。到目前为止这么好,我可以使用我的python函数处理我的查询结果。 但是,在这个时候,我必须在我的python udf中使用外部.txt文件。我将该文件上传到我的集群(与.sql和.py文件相同的目录),我还使用此命令在我的.sql文件中添加了该文件:

ADD FILE /home/ra/stopWords.txt;

当我在我的python udf中调用此文件时:

file = open("/home/ra/stopWords.txt", "r")

我有几个错误。我无法弄清楚如何添加嵌套文件并在配置单元中使用它们。

任何想法?

1 个答案:

答案 0 :(得分:2)

所有添加的文件都位于UDF脚本的当前工作目录(./)中。

如果使用ADD FILE /dir1/dir2/dir3/myfile.txt添加单个文件,其路径将为

./myfile.txt

如果您使用ADD FILE /dir1/dir2添加目录,则文件的路径将为

./dir2/dir3/myfile.txt