2017-12-11 17 views
1

행렬 추가를 위해 Apache Pig에 코드를 작성하려고합니다.ifile에서 readahead가 실패했습니다. EBADF : 행렬 추가를 수행하는 중에 파일 설명자가 잘못되었습니다.

matrixM = LOAD 'Mmatrix.txt' USING PigStorage (',') AS (i,j,v); 
matrixN = LOAD 'Nmatrix.txt' USING PigStorage (',') AS (i,j,v); 
unionres = UNION matrixM, matrixN; 
DUMP unionres; 
res = GROUP unionres BY (i,j); 
DUMP res; 
ILLUSTRATE res; 
final_res = FOREACH res GENERATE group.$0 AS i, group.$1 AS j, SUM(unionres.v) AS v; 
DUMP final_res; 

로컬 모드에서 코드를 실행하는 중 다음 예외가 발생합니다.

org.apache.hadoop.io.ReadaheadPool - Failed readahead on ifile 
EBADF: Bad file descriptor 
    at org.apache.hadoop.io.nativeio.NativeIO$POSIX.posix_fadvise(Native Method) 
    at org.apache.hadoop.io.nativeio.NativeIO$POSIX.posixFadviseIfPossible(NativeIO.java:267) 
    at org.apache.hadoop.io.nativeio.NativeIO$POSIX$CacheManipulator.posixFadviseIfPossible(NativeIO.java:146) 
    at org.apache.hadoop.io.ReadaheadPool$ReadaheadRequestImpl.run(ReadaheadPool.java:208) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
    at java.lang.Thread.run(Thread.java:748) 

아무도 내가 잘못 설명 할 수 있습니까?

답변

0

위의 메시지는 일반적으로 WARN이며 실제 오류 메시지가 나중에 표시됩니다. 디스크가 불량이거나 가득 찬 경우에만이 유형의 WARN 메시지를 보았습니다. 로컬/tmp가 가득 찬 모든 기회?