1.hadoop TextPair定義されたキーの組み合わせ
パッケージ温度; インポートorg.apache.hadoop.io.Text; インポートorg.apache.hadoop.io.WritableComparable; インポートjava.io.DataInput; インポートjava.io.DataOutput; インポートにjava.io.IOException; パブリック クラス TextPair 実装 WritableComparable <TextPair> { プライベートテキストまず、 プライベートテキストSECOND; 公共TextPair(){ SET(新しいテキスト()、新しいテキスト()); //基本的なint型は、長い間、同様に初期化することはできませんが、変数は、新しいオブジェクト型である必要がありますデシリアライゼーションは、第1および第2に、データを読み取るためにので、問題ヌルポインタ参照が存在することになります。 } 公開TextPair(文字列の最初の文字列秒){ セット(新しいテキスト(第一)、新しいテキスト(第2))。 } 公共TextPair(最初のテキスト、テキスト秒){ セット(第一、第二)。 } 公共 ボイド集合(最初のテキスト、テキスト秒){ これは 1次回= 最初; この .second = 秒; } パブリックテキストgetFirstと(){ 戻り最初。 } パブリックテキストgetSecond(){ 戻り第二; } @Override 公共 のボイド書き込み(DataOutput内アウト)スローのIOException { first.write(アウト)。 second.write(アウト)。 } @Override 公共 ボイド readFields(DataInput内の)スローのIOException { first.readFields(IN)を、 second.readFields(中) } @Override 公共 int型のハッシュコード(){ リターン first.hashCode()* 163 + second.hashCode()。 } @Override パブリック ブール等しい(オブジェクトo){ もし(O instanceofのTextPair){ TextPair TP= O(TextPair)。 リターン first.equals(tp.first)&& second.equals(tp.second)。 } を返す 偽。 } @Override パブリック文字列のtoString(){ 戻り "T \" +第一+を二; } 公共 のint のcompareTo(TextPair TP){ int型 CMP = first.compareTo(tp.first)。 もし(!CMP = 0 ){ 戻りCMP; } 戻りsecond.compareTo(tp.second)を、 } }
具体的な使用例は、私の次のブログを参照してください
https://www.cnblogs.com/bclshuai/p/12319490.html
ご自身が、あなたが取得するために、下のリンクをクリックする必要があり、非常に強力な、インテリジェント株式解析ソフトウェアを開発しました: