[HADOOP] 실패 오류 : 때 java.io.IOException : 모든 수집가의 초기화 실패
HADOOP실패 오류 : 때 java.io.IOException : 모든 수집가의 초기화 실패
내 맵리 듀스 단어 수 작업을 실행하는 동안 나는 약간의 오류가 발생하고있다.
해결법
-
==============================
1.나는이 작업을 위해 WritableComparable <> 인터페이스를 구현했다는 것을 발견했다.
나는이 작업을 위해 WritableComparable <> 인터페이스를 구현했다는 것을 발견했다.
import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; import org.apache.hadoop.io.Text; import org.apache.hadoop.io.WritableComparable; public class Pair implements WritableComparable<Pair> { public Text key1; public Text key2; public Pair() { key1 = new Text(); key2 = new Text(); } public Pair(String key1, String key2) { this.key1 = new Text(key1); this.key2 = new Text(key2); } public void setKey1(Text key1) { this.key1 = key1; } public void setKey2(Text key2) { this.key2 = key2; } public Text getKey1() { return key1; } public Text getKey2() { return key2; } @Override public boolean equals(Object b) { Pair p = (Pair) b; return p.key1.toString().equals(this.key1.toString()) && p.key2.toString().equals(this.key2.toString()); } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((key1 == null) ? 0 : key1.toString().hashCode()); result = prime * result + ((key2 == null) ? 0 : key2.toString().hashCode()); return result; } @Override public String toString() { return "(" + key1 + ", " + key2 + ")"; } @Override public void readFields(DataInput arg0) throws IOException { key1.readFields(arg0); key2.readFields(arg0); } @Override public void write(DataOutput arg0) throws IOException { key1.write(arg0); key2.write(arg0); } public int compareTo(Pair p1) { int k = this.key1.toString().compareTo(p1.key1.toString()); if (k != 0) { return k; } else { return this.key2.toString().compareTo(p1.key2.toString()); } } }
-
==============================
2.맵리 듀스를 실행하는 올바른 문자 클래스를 가져 job.Please 동안 같은 일이 저와 함께 발생합니다.
맵리 듀스를 실행하는 올바른 문자 클래스를 가져 job.Please 동안 같은 일이 저와 함께 발생합니다.
당신이 아래의 수입을 가져온 경우 해당 오류가 발생합니다 :
import com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider.Text;
이로 변경합니다.
import org.apache.hadoop.io.Text;
-
==============================
3.기본 생성자가 자동으로 제거됩니다 어떤 매개 변수가있는 생성자를 정의한 경우 귀하의 클래스는 기본 생성자가 있어야합니다. 당신은 명시 적으로 생성자를 정의해야합니다. 당신은 당신의 코드를 게재 할 수 있습니까?
기본 생성자가 자동으로 제거됩니다 어떤 매개 변수가있는 생성자를 정의한 경우 귀하의 클래스는 기본 생성자가 있어야합니다. 당신은 명시 적으로 생성자를 정의해야합니다. 당신은 당신의 코드를 게재 할 수 있습니까?
Class SampleClass { int a; public SampleClass(int param) { a = param; } public SampleClass() { } }
from https://stackoverflow.com/questions/40630761/failed-error-java-io-ioexception-initialization-of-all-the-collectors-failed by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 윈도우 기능을 사용하여 지원 스파크 (0) | 2019.09.18 |
---|---|
[HADOOP] 특수 문자로 구분 하둡에서 텍스트 소스를 읽는 방법 (0) | 2019.09.18 |
[HADOOP] 때문에 HBase를 클라이언트 항아리 = TRUE 관리 하드에 HTable 데이터를 스캔 Bigtable을 연결할 수 없습니다 (0) | 2019.09.18 |
[HADOOP] 하둡 하이브 mapred 작업에 대한 최대 감속기를 제한 할 수있는 기능? (0) | 2019.09.18 |
[HADOOP] HBase를-인덱서 SOLR는 HBase를 테이블 행의 크기와 다른 numFound (0) | 2019.09.18 |