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はいっぱいです!

関連する問題