HadoopのカスタムTextPairと使用の原則

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

 

ご自身が、あなたが取得するために、下のリンクをクリックする必要があり、非常に強力な、インテリジェント株式解析ソフトウェアを開発しました:

https://www.cnblogs.com/bclshuai/p/11380657.html

おすすめ

転載: www.cnblogs.com/bclshuai/p/12343769.html