2013-12-22 2 views
0

이됩니다.""load data inpath '/group/public/aa.txt'를 managed_table 테이블에 입력 할 때 테이블에 데이터로드가 예외

다음과 같은 예외가 있는데 왜 해결해야합니까?

FAILED: Hive Internal Error: java.lang.RuntimeException(java.io.FileNotFoundException: File 
does not exist: /tmp) java.lang.RuntimeException: java.io.FileNotFoundException: File does 
not exist: /tmp at org.apache.hadoop.hive.ql.Context.getScratchDir(Context.java:148) 

답변

0

하이브는 기본적는 /tmp/hive-${user.name }으로 하이브를 site.xml에 hive.exec.scratchdir에 정의 된 임시 디렉토리를 사용합니다. 나는/tmp가 없거나 그것에 대한 권한이 없다고 생각한다.
스크래치 디렉토리를 변경하거나 하이브를 사용할 수있게하십시오.

+0

감사합니다. dimamah ~ hive.exec.scratchdir을 hdfs 디렉토리로 설정하면로드 데이터 워드가 올바르게 실행됩니다. 그런데 왜 지역 국장이 일할 수 없습니까? 내 시스템에/tmp가 있는데 파일을 쓸 수있다. – user3127122

+0

/tmp 안에'hive - $ {user.name}'디렉토리가 있습니까? 그렇다면 사용자가 소유하고있는 것은 무엇입니까? 같은 사용자가 Hive를 실행하고 있습니까? 표시되지 않으면 하이브를 실행하는 사용자와 수동으로 만들어보십시오. – dimamah