복붙노트

[HADOOP] Python UDF에서 외부 파일에 액세스

HADOOP

Python UDF에서 외부 파일에 액세스

나는 하이브와 파이썬 UDF를 사용하고 있습니다. python udf를 추가 한 sql 파일을 정의하고 호출했습니다. 지금까지는 좋았으며 파이썬 함수를 사용하여 쿼리 결과를 처리 할 수 ​​있습니다. 그러나이 시점에서 파이썬 udf에서 외부 .txt 파일을 사용해야합니다. 해당 파일을 클러스터 (.sql 및 .py 파일과 동일한 디렉토리)에 업로드하고이 명령을 사용하여 .sql 파일에도 추가했습니다.

ADD FILE /home/ra/stopWords.txt;

파이썬 udf 에서이 파일을 다음과 같이 호출하면 :

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

몇 가지 오류가 있습니다. 중첩 파일을 추가하고 하이브에서 사용하는 방법을 알 수 없습니다.

어떤 생각?

해결법

  1. ==============================

    1.추가 된 모든 파일은 UDF 스크립트의 현재 작업 디렉토리 (./)에 있습니다.

    추가 된 모든 파일은 UDF 스크립트의 현재 작업 디렉토리 (./)에 있습니다.

    ADD FILE /dir1/dir2/dir3/myfile.txt를 사용하여 단일 파일을 추가하면 경로는 다음과 같습니다.

    ./myfile.txt
    

    ADD FILE / dir1 / dir2를 사용하여 디렉토리를 추가하면 파일의 경로는

    ./dir2/dir3/myfile.txt
    
  2. from https://stackoverflow.com/questions/45112390/accessing-external-file-in-python-udf by cc-by-sa and MIT license