2014-09-01 2 views
-2

제한된 텍스트 파일 탭 (datetemp.txt)이 텍스트 파일을 처리하기 위해 돼지에로드하려고하지만 다음 줄을 입력 할 때 오류가 발생합니다.PIG에서 .csv 파일을 가져 오거나로드하는 방법은 무엇입니까?

grunt> inputfile = load ' /training/pig/datetemp.txt '를 사용하여 PigStorage() As (EventID : chararray, eventdate : chararray, count : int);

grunt> 덤프 입력 파일;

2014-09-06 08 : 41 : 23,527 org.apache.pig.tools.pigstats.ScriptState - 스크립트에 사용 된 돼지 기능 : UNKNOWN 2014-09-06 08 : 41 : 23,544 [ main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler - 파일 연결 임계 값 : 100 optimistic? false 2014-09-06 08 : 41 : 23,548 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MultiQueryOptimizer - 최적화 전 MR 계획 크기 : 1 2014-09-06 08 : 41 : 23,548 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MultiQueryOptimizer - 최적화 후의 MR 계획 크기 : 1 2014-09-06 08 : 41 : 23,551 [main] INFO org.apache.pig.tools. pigstats.ScriptState - 돼지 스크립트 설정이 작업에 추가되었습니다. 2014-09-06 08 : 41 : 23,551 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler - mapred.job.reduce.markreset .buffer.percent가 기본값으로 설정되지 않음. 2014-09-06 08 : 41 : 23,552 [main] 정보 org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler - jar 파일 만들기 Job2739171785773930333.jar 2014-09-06 08:42 : 39,608 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler - jar 파일 Job2739171785773930333.jar 생성 2014-09-06 08 : 42 : 39,612 [main] INFO org.apache.pig.backend. hadoop.executionengine.mapReduceLayer.JobControlCompiler - 단일 저장소 작업 설정 2014-09-06 08 : 42 : 39,619 [main] 정보 org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 1 map-reduce job s) 제출 대기 중. 2014-09-06 08 : 42 : 39,630 [Thread-12] WARN org.apache.hadoop.mapred.JobClient - 인수를 구문 분석하기 위해 GenericOptionsParser를 사용하십시오. 응용 프로그램은 동일한 도구를 구현해야합니다. 2014-09-06 08 : 42 : 39,891 [Thread-12] 정보 org.apache.hadoop.mapred.JobClient - 스테이징 영역 정리 hdfs : //192.168.195.130 : 8020/var/lib/hadoop-hdfs/cache/mapred/mapred/staging/training/.staging/job_201408292336_0009 2014-09-06 08 : 42 : 39,891 [스레드 -12] 오류 org.apache.hadoop.security.UserGroupInformation - PrivilegedActionException as : training (auth : SIMPLE) 원인 : org.apache.pig.backend.executionengine.ExecException : 오류 2118 : 입력 경로가 존재하지 않습니다 : hdfs : //192.168.195.130 : 8020/training/pig/datetemp.txt 2014-09-06 08:42 : 40,119 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 0 % 완료 2014-09-06 08 : 42 : 40,125 [main] INFO org.apache.pig.backend.hadoop.executionengine .mapReduceLayer.MapReduceLauncher - 작업 null에 실패했습니다! 모든 종속 작업 실행 중지 2014-09-06 08 : 42 : 40,125 [main] 정보 org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 100 % 완료 2014-09-06 08 : 42 : 40,131 [main] ERROR org.apache.pig.tools.pigstats.SimplePigStats - 오류 2997 : 백엔드 오류에서 예외를 다시 만들 수 없습니다 : org.apache.pig.backend.executionengine.ExecException : 오류 2118 : 입력 경로가 존재하지 않습니다 : hdfs : //192.168.195.130:8020/training/pig/datetemp.txt at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigInputFormat.getSplits (PigInputFormat.java:285) at org.apache.hadoop.mapred .JobClient.writeNewSplits (JobClient.java:1014) at org.apache.hadoop.mapred.JobClient.writeSplits (JobClient.java:1031) at org.apache.hadoop.mapred.JobClient.access $ 600 (JobClient.java : 172) at org.apache.hadoop.mapred.JobClient $ 2.run (JobClient.java:943) at org.apache.hadoop.mapred.JobClient $ 2.run (JobClient.java:896) at java.security.AccessController.doPrivileged (네이티브 메소드) at javax.security.auth.Subject.doAs (Subject.java:396) at org.apache.hadoop.security.UserGroupInformation.doAs (UserGroupInformation.java:1332) at org.apache .hadoop.mapred.JobClient.submitJobInternal (JobClient.java:896) at org.apache.hadoop.mapreduce.Job.submit (Job.java:531) at org.apache.hadoop.mapreduce.lib.jobcontrol.ControlledJob .submit (ControlledJob.java:318) at org.apache.hadoop.mapreduce.lib.jobcontrol.JobControl.startReadyJobs (JobControl.java:238) at org.apache.hadoop.mapreduce.lib.jobcontrol.JobControl.run (JobControl.java:269) at java.lang.Thread.run (Thread.java:662) at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLaun cher $ 1.run (MapReduceLauncher.java:260) 발생 원인 : org.apache.hadoop.mapreduce.lib.input.InvalidInputException : 입력 경로가 존재하지 않음 : hdfs : //192.168.195.130 : 8020/training/pig/datetemp .txt at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.listStatus (FileInputFormat.java:231) at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTextInputFormat.listStatus (PigTextInputFormat.java : 36) at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getSplits (FileInputFormat.java:248) at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigInputFormat.getSplits (PigInputFormat.java : 273) ... 15 더 많은

2014-09-06 08 : 42 : 40,131 [main] ERROR org.apache.pig.to ols.pigstats.PigStatsUtil -지도 축소 작업이 실패했습니다! 2014년 9월 6일 08 : 42 : 40,135 [주] 정보의 org.apache.pig.tools.pigstats.SimplePigStats - 스크립트 통계 :

HadoopVersion PigVersion 사용자 아이디 StartedAt FinishedAt이 2.0.0-cdh4.1.1 0.10 특징. 0-cdh4.1.1 교육 2014-09-06 08:41:23 2014-09-06 08:42:40 알 수 없음

실패했습니다! 작업 ID 별칭 기능 메시지 출력 N MAP_ONLY 메시지 입력 파일/A : org.apache.pig.backend.executionengine.ExecException가 : 오류 2118가 : 입력 경로가 존재하지 않습니다 HDFS : //192.168.195.130

잡스 실패 : 8020/training/pig/datetemp.txt at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigInputFormat.getSplits (PigInputFormat.java:285) at org.apache.hadoop.mapred.JobClient.writeNewSplits (JobClient .java : 1014) at org.apache.hadoop.mapred.JobClient.writeSplits (JobClient.java:1031) at org.apache.hadoop.mapred.JobClient.access $ 600 (JobClient.java:172) at org. apache.hadoop.mapred.JobClient $ 2.run (JobClient.java:943) at org.apache.hadoop.mapred.JobClient $ 2.run (JobClient.java:896) at java.security.AccessController.doPrivileged (네이티브 메소드) at javax.security.auth.Subject.doAs (Subject.java : 396) at org.apache.hadoop.security.UserGroupInformation.doAs (UserGroupInformation.java:1332) at org.apache.hadoop.mapred.JobClient.submitJobInternal (JobClient.java:896) at org.apache.hadoop. mapreduce.Job.submit (Job.java:531) at org.apache.hadoop.mapreduce.lib.jobcontrol.ControlledJob.submit (ControlledJob.java:318) at org.apache.hadoop.mapreduce.lib.jobcontrol. JobControl.startReadyJobs (JobControl.java:238) at org.apache.hadoop.mapreduce.lib.jobcontrol.JobControl.run (JobControl.java:269) at java.lang.Thread.run (Thread.ja va : 662) at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher $ 1.run (MapReduceLauncher.java:260) 발생 원인 : org.apache.hadoop.mapreduce.lib.input.InvalidInputException : 입력 경로가 존재하지 않습니다 : hdfs : //192.168.195.130 : 8020/training/pig/datetemp.txt at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.listStatus (FileInputFormat.java:231) at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTextInputFormat.listStatus (PigTextInputFormat.java:36)) at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getSplits (FileInputFormat.java:248) at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigInputFormat.getSplits (PigInputFormat.java:273)) ... 15 개 HDFS : //192.168.195.130 : 8020/tmp를/온도-1004538676/tmp1582688785,

입력 (들) : /training/pig/datetemp.txt "에서 데이터를 읽지 못했습니다 "

출력 (들) : 는 결과 생산하지 못했습니다 "HDFS : //192.168.195.130 : 8020/tmp를/온도-1004538676/tmp1582688785"

카운터 : 총 레코드를 작성 : 0 총 바이트 작성 : 0 Spillable 메모리 관리자 유출 카운트가 0 총 가방 사전에 유출 : 0 총 기록이 사전에 유출 : 0

작업 DAG를 : 널 (null)

2014년 9월 6일 08 : 42 : 40,135 [주] 정보 조직 .apache.pig.backend.hadoop.executionengine .mapReduceLayer.MapReduceLauncher - 실패했습니다! 2014-09-06 08 : 42 : 40,142 [main] 오류 org.apache.pig.tools.grunt.Grunt - 오류 1066 : 별칭 입력 파일에 대한 반복자를 열 수 없습니다. 로그 파일의 세부 정보 : /home/training/pig_1410006833865.log

도와주세요 .. 여기!

+0

[ERROR 1066 : 별칭에 대한 이터레이터를 열 수 없습니다.] (http://stackoverflow.com/questions/34495085/error-1066-unable-to- 오픈 이터레이터 -에 - 별칭 - 돼지 - 제네릭 솔루션) 여기에 [일반적인 솔루션] (http://stackoverflow.com/a/34495086/983722)입니다. –

답변

2

PigStorage는 대소 문자를 구분합니다. pigstorage가 아닌 PigStorage를 사용하십시오.

+0

@Prix, 내 대답이 귀하의 질문을 해결 한 경우 답변을 표시하십시오. –

+0

작동하지 않습니다 ... 이제 오류 아래에 점점 – Prix

+0

오류 org.apache.pig.tools.grunt.Grunt - 오류 1066 : 반복기를 열 수 없습니다 – Prix

0

귀하의 질문에 헤드 라이너에 따르면 CSV 파일을로드하려고했습니다. 이를 위해 https://martin.atlassian.net/wiki/x/WYBmAQ에 나와있는 LOAD 진술 문에 using org.apache.pig.piggybank.storage.CSVExcelStorage()으로 행운을 빕니다.

grunt> inputfile= load '/training/pig/datetemp.txt' using PigStorage() As (EventID: chararray,eventdate: chararray,count:int);

- 당신이 이미 언급 한 당신이 탭 대신 PigStorage()

언급 코드의 파일을 구분대로

0

PigStorage ('\의 t')를 쓰지 않는다 이것은 귀하의 문제를 해결할 수 있습니다.

내가 다른 것인지 알려주세요.

0
hdfs://192.168.195.130:8020/training/pig/datetemp.txt 

파일을 (를) 당신의 hdfs에서 찾을 수 없습니다 !! 위의 위치에 입력 파일을 배치해야합니다.

0

입력 경로가 존재하는지 확인 했습니까?

시도 :

이 목록에 datetemp.txt은 다음 그렇지 않으면 작업 로그 명확하게 오류를 말하고있다

0

적절한 입력 경로 줄 것이다 표시하는 경우 fs -ls /training/pig/ in Grunt Shell

.

org.apache.pig.backend.executionengine.ExecException : ERROR 2118 이 : 입력 경로가 존재하지 않습니다 HDFS : //192.168.195.130 : 8020/교육/돼지/datetemp.txt

당신이 할 수있는 HDFS에 파일이 존재하는지 확인 하시겠습니까? 돼지가지도 모드 또는 로컬 모드에서 실행 중인지 확인할 수도 있습니다.

0

PigStorage 클래스에서 ','를 지정하면 CSV 파일을 읽을 수 있습니다.

쿼리는 다음과 같습니다

grunt> inputfile= load '/training/pig/datetemp.txt' using PigStorage(',') As (EventID: chararray,eventdate: chararray,count:int); 

grunt> dump inputfile; 

그리고 당신은 HDFS에 파일 '/training/pig/datetemp.txt'를 가지고 있는지 확인하십시오. 실행을 테스트하려면 : hadoop fs -ls /training/pig/datetemp.txt

관련 문제