2013-11-22 3 views
0

가상 배포 모드에서 하이브 스크립트를 실행하려고합니다. 대화 형 모드를 실행하면 스크립트의 명령이 제대로 실행됩니다. 그러나 스크립트에 모든 명령을 추가하고 실행하면 오류가 발생합니다.의사 배포 모드에서 하이브 스크립트를 실행하는 중 오류가 발생했습니다.

스크립트 :

add jar /path/to/jar/file; 
    create table flights(year int, month int,code string) row format serde 'com.bizo.hive.serde.csv.CSVSerde'; 
    load data inpath '/tmp/hive-user/On_Time_On_Time_Performance_2013_1.csv' overwrite into table flights; 

'On_Time_On_Time_Performance_2013_1.csv'는 HDFS에 존재한다. 내가 얻는 오류는 다음과 같습니다.

FAILED: SemanticException Line 3:17 Invalid path ''/tmp/hive-user/On_Time_On_Time_Performance_2013_1.csv'': No files matching path hdfs://localhost:54310/tmp/hive-user/On_Time_On_Time_Performance_2013_1.csv 

    fs.default.name=hdfs://localhost:54310 

내 hadoop이 잘 돌아갑니다.

누군가 포인터를 줄 수 있습니까?

감사합니다.

답변

0

이것은 실제로 대답이 아니지만보다 자세하고 반복 가능한 질문입니다.

하나 여기에서의 CSV serde 다운로드해야 a)

: 자식 클론 https://github.com/ogrodnek/csv-serde

b) MVN 패키지를 C를 사용하여 작성)의 세 개의 필드에 대응하는 3 개 콤마 분리 된 필드를 포함하는 텍스트 파일을 생성을 주어진 테이블.

add jar /shared/csv-serde/target/csv-serde-1.1.2-0.11.0-all.jar; 
drop table if exists flights; 
create table flights(year int, month int,code string) row format serde 'com.bizo.hive.serde.csv.CSVSerde' stored as textfile; 
load data inpath '/tmp/hive-user/On_Time_On_Time_Performance_2013_1.csv' overwrite into table flights; 

내가 OP에서와 같은 오류를 참조하십시오 : 실패 : SemanticException 라인 2시 17분 잘못된 경로 ' C) 경로가 말하는 경우는 다음과 부하에 올바른 순서 "공유 /"입니다 '/tmp/hive-user/On_Time_On_Time_Performance_2013_1.csv' ': 경로와 일치하는 파일이 없습니다. hdfs : // localhost : 9000/tmp/hive-user/On_Time_On_Time_Performance_2013_1.csv