hadoop custom TextPair and use principles

1.hadoop TextPair defined key combination

 

package Temperature;


import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.WritableComparable;

import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;

public class TextPair implements WritableComparable<TextPair> {
    private Text first;
    private Text second;
    public TextPair() {
        SET ( new new the Text (), new new the Text ()); // basic int, long, can not initialize the like, but the variables must be new new object types, as deserialized data is to be read first, and second, there will be empty pointer references problem.
    }
    public TextPair(String first, String second) {
        set(new Text(first),new Text(second));
    }
    public TextPair(Text first, Text second) {
        set(first, second);
    }
    public void set(Text first, Text second) {
        this.first = first;
        this.second = second;
    }
    public Text getFirst() {
        return first;
    }
    public Text getSecond() {
        return second;
    }
    @Override
    public void write(DataOutput out)throws IOException {
        first.write(out);
        second.write(out);
    }
    @Override
    public void readFields(DataInput in)throws IOException {
        first.readFields(in);
        second.readFields(in);
    }
    @Override
    public int hashCode() {
        return first.hashCode() *163+ second.hashCode();
    }
    @Override
    public boolean equals(Object o) {
        if(o instanceof TextPair) {
            TextPair tp = (TextPair) o;
            return first.equals(tp.first) && second.equals(tp.second);
        }
        return false;
    }
    @Override
    public String toString() {
        return first +"\t"+ second;
    }

    public int compareTo(TextPair tp) {
        int cmp = first.compareTo(tp.first);
        if(cmp !=0) {
            return cmp;
        }
        return second.compareTo(tp.second);
    }
}

Specific use examples, see my next blog

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

 

Himself developed an intelligent stock analysis software, very powerful, you need to click on the link below to obtain:

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

Guess you like

Origin www.cnblogs.com/bclshuai/p/12343769.html