尚硅谷大数据技术之电信客服
9) 创建类:DateDimension
package com.atguigu.analysis.kv.impl; import com.atguigu.analysis.kv.base.BaseDimension; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; /** * 时间维度类 */ public class DateDimension extends BaseDimension { //时间维度主键 private int id; //时间维度:当前通话信息所在年 private int year; //时间维度:当前通话信息所在月,如果按照年来统计信息,则month为-1 private int month; //时间维度:当前通话信息所在日,如果按照年来统计信息,则day为-1。 private int day; public DateDimension() { super(); } public DateDimension(int year, int month, int day) { super(); this.year = year; this.month = month; this.day = day; } public int getId() { return id; } public void setId(int id) { this.id = id; } public int getYear() { return year; } public void setYear(int year) { this.year = year; } public int getMonth() { return month; } public void setMonth(int month) { this.month = month; } public int getDay() { return day; } public void setDay(int day) { this.day = day; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; DateDimension that = (DateDimension) o; if (id != that.id) return false; if (year != that.year) return false; if (month != that.month) return false; return true; } @Override public int hashCode() { int result = id; result = 31 * result + year; result = 31 * result + month; result = 31 * result + day; return result; } @Override public int compareTo(BaseDimension o) { if(o == this) return 0; DateDimension dateDimension = (DateDimension) o; int tmp = Integer.compare(this.id, dateDimension.getId()); if (tmp != 0) return tmp; tmp = Integer.compare(this.year, dateDimension.getYear()); if (tmp != 0) return tmp; tmp = Integer.compare(this.month, dateDimension.getMonth()); if (tmp != 0) return tmp; tmp = Integer.compare(this.day, dateDimension.getDay()); return tmp; } @Override public void write(DataOutput dataOutput) throws IOException { dataOutput.writeInt(this.id); dataOutput.writeInt(this.year); dataOutput.writeInt(this.month); dataOutput.writeInt(this.day); } @Override public void readFields(DataInput dataInput) throws IOException { this.id = dataInput.readInt(); this.year = dataInput.readInt(); this.month = dataInput.readInt(); this.day = dataInput.readInt(); } @Override public String toString() { return "DateDimension{" + "id=" + id + ", year=" + year + ", month=" + month + ", day=" + day + '}'; } } |