Hbase框架的搭建和使用_第四节_Protobuf安装和使用
安装包
https://github.com/1367379258/BigDataED/tree/master/hbase/%E8%B5%84%E6%96%99
:Protobuf 安装
1. tar -zxf protobuf-.......
2. yum groupinstall "Development tools"
3. ./config...... 默认安安装在 usr/local
4. make && make install
package com.bjsxt.hbase;
message PhoneDetail
{
required string dnum = 1;
required string length = 2;
required string type = 3;
required string date = 4;
}
message DayOfPhone
{
repeated PhoneDetail DayPhone = 1;
}
vi phone.proto 把上面的数据 放进去
/usr/local/bin/protoc phone.proto --java_out=/root/
ftps 把java放到 eclipese
insert3 放在 phone3中
:Protobuf 使用 具体代码在 hbase/java/
- 一个电话 掉话率 检测
先引入 那个Phone.java文件
在目录下
phoneCase 是对 数据插入 对象包装插入 多对象包装插入
注意。 put(rowKey)
put.add("cf".getBytes(),"dnum".getBytes(),dnum.getBytes());
get(rowkey);
table.put(puts);
table.get(get);
Scan scan = new Scan()
scan.setStartrow(""); // 在 row中 查找 开始范围
scan.setStopRow(""); // 停止范围
/**
查询 指定 column中的数据
FiltersList lis = new FiltersList(FiltersList.Operator.MUST_PASS_ALL); /// 所有条件必须满足
SingleColumnValueFilter filter= new SingleColumnValueFilter(familyName.getBytes(),
"type".getBytes(), CompareOp.EQUAL, "0".getBytes()); // 只有 colum中的 type == 0才被取到
PrefixFilter filter2 =new PrefixFilter("15894311313".getBytes());
lis.addFilter(filter); // 加入到 过滤器组中。
lis.addFilter(filter);
Scan scan = new Scan();
scan.setFillter(filters);
ResultScanner scanner = table.getScanner(scan);
for(Result result: scanner) {
System.out.print(Bytes.toString(CellUtil.cloneValue(result.getColumnLatestCell("cf".getBytes(), "dnum".getBytes()))));
System.out.print("=="+Bytes.toString(CellUtil.cloneValue(result.getColumnLatestCell("cf".getBytes(), "type".getBytes()))));
System.out.print("=="+Bytes.toString(CellUtil.cloneValue(result.getColumnLatestCell("cf".getBytes(), "length".getBytes()))));
System.out.println("=="+Bytes.toString(CellUtil.cloneValue(result.getColumnLatestCell("cf".getBytes(), "date".getBytes()))));
}
scanner.close();
对象 插入
Phone.PhoneDetail.Builder phoneDetail = Phone.PhoneDetail.newBuilder();
phoneDetail.setDate(date);
phoneDetail.setDnum(dnum);
phoneDetail.setLength(length);
phoneDetail.setType(type);
String rowkey = phoneNumber+"_"+String.valueOf(Long.MAX_VALUE-sdf.parse(date).getTime());
Put put = new Put(rowkey.getBytes());
put.add("cf".getBytes(),"phoneDetail".getBytes(),phoneDetail.build().toByteArray());
puts.add(put);
把1000个 phoneDetail 包装到 一个 DayOfPhone中
插入
String rowkey = phoneNumber+"_"+String.valueOf(Long.MAX_VALUE-sdf.parse(“20181225000000”).getTime());
Phone.DayOfPhone.Builder dayof = Phone.DayOfPhone.newBuilder();
for(int j =0;j<1000;j++){
// 属性
String dnum = getPhone(“177”);
String length = String.valueOf(r.nextInt(99));// 通话时长
String type = String.valueOf(r.nextInt(2));
String date = getDate2(“20181225”);
Phone.PhoneDetail.Builder phoneDetail = Phone.PhoneDetail.newBuilder();
phoneDetail.setDate(date);
phoneDetail.setDnum(dnum);
phoneDetail.setLength(length);
phoneDetail.setType(type);
dayof.addDayPhone(phoneDetail);
}
Put put = new Put(rowkey.getBytes());
put.add("cf".getBytes(), "day".getBytes(), dayof.build().toByteArray());
puts.add(put); // 10 只有10 条数据 rowkey
table.put(puts);
获取数据
Get get = new Get("15893304049_9223370522077571807".getBytes());
Result result = table.get(get);
PhoneDetail phoneDetail = Phone.PhoneDetail.parseFrom(CellUtil.cloneValue(result.getColumnLatestCell("cf".getBytes(),
"phoneDetail".getBytes())));
System.out.println(phoneDetail);
使用的包和代码
Phone.java
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: phone.proto
package com.bjsxt.hbase;
public final class Phone {
private Phone() {}
public static void registerAllExtensions(
com.google.protobuf.ExtensionRegistry registry) {
}
public interface PhoneDetailOrBuilder
extends com.google.protobuf.MessageOrBuilder {
// required string dnum = 1;
/**
* <code>required string dnum = 1;</code>
*/
boolean hasDnum();
/**
* <code>required string dnum = 1;</code>
*/
java.lang.String getDnum();
/**
* <code>required string dnum = 1;</code>
*/
com.google.protobuf.ByteString
getDnumBytes();
// required string length = 2;
/**
* <code>required string length = 2;</code>
*/
boolean hasLength();
/**
* <code>required string length = 2;</code>
*/
java.lang.String getLength();
/**
* <code>required string length = 2;</code>
*/
com.google.protobuf.ByteString
getLengthBytes();
// required string type = 3;
/**
* <code>required string type = 3;</code>
*/
boolean hasType();
/**
* <code>required string type = 3;</code>
*/
java.lang.String getType();
/**
* <code>required string type = 3;</code>
*/
com.google.protobuf.ByteString
getTypeBytes();
// required string date = 4;
/**
* <code>required string date = 4;</code>
*/
boolean hasDate();
/**
* <code>required string date = 4;</code>
*/
java.lang.String getDate();
/**
* <code>required string date = 4;</code>
*/
com.google.protobuf.ByteString
getDateBytes();
}
/**
* Protobuf type {@code com.bjsxt.hbase.PhoneDetail}
*/
public static final class PhoneDetail extends
com.google.protobuf.GeneratedMessage
implements PhoneDetailOrBuilder {
// Use PhoneDetail.newBuilder() to construct.
private PhoneDetail(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
super(builder);
this.unknownFields = builder.getUnknownFields();
}
private PhoneDetail(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
private static final PhoneDetail defaultInstance;
public static PhoneDetail getDefaultInstance() {
return defaultInstance;
}
public PhoneDetail getDefaultInstanceForType() {
return defaultInstance;
}
private final com.google.protobuf.UnknownFieldSet unknownFields;
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
}
private PhoneDetail(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
initFields();
int mutable_bitField0_ = 0;
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
default: {
if (!parseUnknownField(input, unknownFields,
extensionRegistry, tag)) {
done = true;
}
break;
}
case 10: {
bitField0_ |= 0x00000001;
dnum_ = input.readBytes();
break;
}
case 18: {
bitField0_ |= 0x00000002;
length_ = input.readBytes();
break;
}
case 26: {
bitField0_ |= 0x00000004;
type_ = input.readBytes();
break;
}
case 34: {
bitField0_ |= 0x00000008;
date_ = input.readBytes();
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(this);
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(
e.getMessage()).setUnfinishedMessage(this);
} finally {
this.unknownFields = unknownFields.build();
makeExtensionsImmutable();
}
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return com.bjsxt.hbase.Phone.internal_static_com_bjsxt_hbase_PhoneDetail_descriptor;
}
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable() {
return com.bjsxt.hbase.Phone.internal_static_com_bjsxt_hbase_PhoneDetail_fieldAccessorTable
.ensureFieldAccessorsInitialized(
com.bjsxt.hbase.Phone.PhoneDetail.class, com.bjsxt.hbase.Phone.PhoneDetail.Builder.class);
}
public static com.google.protobuf.Parser<PhoneDetail> PARSER =
new com.google.protobuf.AbstractParser<PhoneDetail>() {
public PhoneDetail parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return new PhoneDetail(input, extensionRegistry);
}
};
@java.lang.Override
public com.google.protobuf.Parser<PhoneDetail> getParserForType() {
return PARSER;
}
private int bitField0_;
// required string dnum = 1;
public static final int DNUM_FIELD_NUMBER = 1;
private java.lang.Object dnum_;
/**
* <code>required string dnum = 1;</code>
*/
public boolean hasDnum() {
return ((bitField0_ & 0x00000001) == 0x00000001);
}
/**
* <code>required string dnum = 1;</code>
*/
public java.lang.String getDnum() {
java.lang.Object ref = dnum_;
if (ref instanceof java.lang.String) {
return (java.lang.String) ref;
} else {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
if (bs.isValidUtf8()) {
dnum_ = s;
}
return s;
}
}
/**
* <code>required string dnum = 1;</code>
*/
public com.google.protobuf.ByteString
getDnumBytes() {
java.lang.Object ref = dnum_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
dnum_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
// required string length = 2;
public static final int LENGTH_FIELD_NUMBER = 2;
private java.lang.Object length_;
/**
* <code>required string length = 2;</code>
*/
public boolean hasLength() {
return ((bitField0_ & 0x00000002) == 0x00000002);
}
/**
* <code>required string length = 2;</code>
*/
public java.lang.String getLength() {
java.lang.Object ref = length_;
if (ref instanceof java.lang.String) {
return (java.lang.String) ref;
} else {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
if (bs.isValidUtf8()) {
length_ = s;
}
return s;
}
}
/**
* <code>required string length = 2;</code>
*/
public com.google.protobuf.ByteString
getLengthBytes() {
java.lang.Object ref = length_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
length_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
// required string type = 3;
public static final int TYPE_FIELD_NUMBER = 3;
private java.lang.Object type_;
/**
* <code>required string type = 3;</code>
*/
public boolean hasType() {
return ((bitField0_ & 0x00000004) == 0x00000004);
}
/**
* <code>required string type = 3;</code>
*/
public java.lang.String getType() {
java.lang.Object ref = type_;
if (ref instanceof java.lang.String) {
return (java.lang.String) ref;
} else {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
if (bs.isValidUtf8()) {
type_ = s;
}
return s;
}
}
/**
* <code>required string type = 3;</code>
*/
public com.google.protobuf.ByteString
getTypeBytes() {
java.lang.Object ref = type_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
type_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
// required string date = 4;
public static final int DATE_FIELD_NUMBER = 4;
private java.lang.Object date_;
/**
* <code>required string date = 4;</code>
*/
public boolean hasDate() {
return ((bitField0_ & 0x00000008) == 0x00000008);
}
/**
* <code>required string date = 4;</code>
*/
public java.lang.String getDate() {
java.lang.Object ref = date_;
if (ref instanceof java.lang.String) {
return (java.lang.String) ref;
} else {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
if (bs.isValidUtf8()) {
date_ = s;
}
return s;
}
}
/**
* <code>required string date = 4;</code>
*/
public com.google.protobuf.ByteString
getDateBytes() {
java.lang.Object ref = date_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
date_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
private void initFields() {
dnum_ = "";
length_ = "";
type_ = "";
date_ = "";
}
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized != -1) return isInitialized == 1;
if (!hasDnum()) {
memoizedIsInitialized = 0;
return false;
}
if (!hasLength()) {
memoizedIsInitialized = 0;
return false;
}
if (!hasType()) {
memoizedIsInitialized = 0;
return false;
}
if (!hasDate()) {
memoizedIsInitialized = 0;
return false;
}
memoizedIsInitialized = 1;
return true;
}
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
getSerializedSize();
if (((bitField0_ & 0x00000001) == 0x00000001)) {
output.writeBytes(1, getDnumBytes());
}
if (((bitField0_ & 0x00000002) == 0x00000002)) {
output.writeBytes(2, getLengthBytes());
}
if (((bitField0_ & 0x00000004) == 0x00000004)) {
output.writeBytes(3, getTypeBytes());
}
if (((bitField0_ & 0x00000008) == 0x00000008)) {
output.writeBytes(4, getDateBytes());
}
getUnknownFields().writeTo(output);
}
private int memoizedSerializedSize = -1;
public int getSerializedSize() {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
if (((bitField0_ & 0x00000001) == 0x00000001)) {
size += com.google.protobuf.CodedOutputStream
.computeBytesSize(1, getDnumBytes());
}
if (((bitField0_ & 0x00000002) == 0x00000002)) {
size += com.google.protobuf.CodedOutputStream
.computeBytesSize(2, getLengthBytes());
}
if (((bitField0_ & 0x00000004) == 0x00000004)) {
size += com.google.protobuf.CodedOutputStream
.computeBytesSize(3, getTypeBytes());
}
if (((bitField0_ & 0x00000008) == 0x00000008)) {
size += com.google.protobuf.CodedOutputStream
.computeBytesSize(4, getDateBytes());
}
size += getUnknownFields().getSerializedSize();
memoizedSerializedSize = size;
return size;
}
private static final long serialVersionUID = 0L;
@java.lang.Override
protected java.lang.Object writeReplace()
throws java.io.ObjectStreamException {
return super.writeReplace();
}
public static com.bjsxt.hbase.Phone.PhoneDetail parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static com.bjsxt.hbase.Phone.PhoneDetail parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static com.bjsxt.hbase.Phone.PhoneDetail parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static com.bjsxt.hbase.Phone.PhoneDetail parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static com.bjsxt.hbase.Phone.PhoneDetail parseFrom(java.io.InputStream input)
throws java.io.IOException {
return PARSER.parseFrom(input);
}
public static com.bjsxt.hbase.Phone.PhoneDetail parseFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return PARSER.parseFrom(input, extensionRegistry);
}
public static com.bjsxt.hbase.Phone.PhoneDetail parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return PARSER.parseDelimitedFrom(input);
}
public static com.bjsxt.hbase.Phone.PhoneDetail parseDelimitedFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return PARSER.parseDelimitedFrom(input, extensionRegistry);
}
public static com.bjsxt.hbase.Phone.PhoneDetail parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return PARSER.parseFrom(input);
}
public static com.bjsxt.hbase.Phone.PhoneDetail parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return PARSER.parseFrom(input, extensionRegistry);
}
public static Builder newBuilder() { return Builder.create(); }
public Builder newBuilderForType() { return newBuilder(); }
public static Builder newBuilder(com.bjsxt.hbase.Phone.PhoneDetail prototype) {
return newBuilder().mergeFrom(prototype);
}
public Builder toBuilder() { return newBuilder(this); }
@java.lang.Override
protected Builder newBuilderForType(
com.google.protobuf.GeneratedMessage.BuilderParent parent) {
Builder builder = new Builder(parent);
return builder;
}
/**
* Protobuf type {@code com.bjsxt.hbase.PhoneDetail}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessage.Builder<Builder>
implements com.bjsxt.hbase.Phone.PhoneDetailOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return com.bjsxt.hbase.Phone.internal_static_com_bjsxt_hbase_PhoneDetail_descriptor;
}
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable() {
return com.bjsxt.hbase.Phone.internal_static_com_bjsxt_hbase_PhoneDetail_fieldAccessorTable
.ensureFieldAccessorsInitialized(
com.bjsxt.hbase.Phone.PhoneDetail.class, com.bjsxt.hbase.Phone.PhoneDetail.Builder.class);
}
// Construct using com.bjsxt.hbase.Phone.PhoneDetail.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
private Builder(
com.google.protobuf.GeneratedMessage.BuilderParent parent) {
super(parent);
maybeForceBuilderInitialization();
}
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
}
}
private static Builder create() {
return new Builder();
}
public Builder clear() {
super.clear();
dnum_ = "";
bitField0_ = (bitField0_ & ~0x00000001);
length_ = "";
bitField0_ = (bitField0_ & ~0x00000002);
type_ = "";
bitField0_ = (bitField0_ & ~0x00000004);
date_ = "";
bitField0_ = (bitField0_ & ~0x00000008);
return this;
}
public Builder clone() {
return create().mergeFrom(buildPartial());
}
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
return com.bjsxt.hbase.Phone.internal_static_com_bjsxt_hbase_PhoneDetail_descriptor;
}
public com.bjsxt.hbase.Phone.PhoneDetail getDefaultInstanceForType() {
return com.bjsxt.hbase.Phone.PhoneDetail.getDefaultInstance();
}
public com.bjsxt.hbase.Phone.PhoneDetail build() {
com.bjsxt.hbase.Phone.PhoneDetail result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
public com.bjsxt.hbase.Phone.PhoneDetail buildPartial() {
com.bjsxt.hbase.Phone.PhoneDetail result = new com.bjsxt.hbase.Phone.PhoneDetail(this);
int from_bitField0_ = bitField0_;
int to_bitField0_ = 0;
if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
to_bitField0_ |= 0x00000001;
}
result.dnum_ = dnum_;
if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
to_bitField0_ |= 0x00000002;
}
result.length_ = length_;
if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
to_bitField0_ |= 0x00000004;
}
result.type_ = type_;
if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
to_bitField0_ |= 0x00000008;
}
result.date_ = date_;
result.bitField0_ = to_bitField0_;
onBuilt();
return result;
}
public Builder mergeFrom(com.google.protobuf.Message other) {
if (other instanceof com.bjsxt.hbase.Phone.PhoneDetail) {
return mergeFrom((com.bjsxt.hbase.Phone.PhoneDetail)other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(com.bjsxt.hbase.Phone.PhoneDetail other) {
if (other == com.bjsxt.hbase.Phone.PhoneDetail.getDefaultInstance()) return this;
if (other.hasDnum()) {
bitField0_ |= 0x00000001;
dnum_ = other.dnum_;
onChanged();
}
if (other.hasLength()) {
bitField0_ |= 0x00000002;
length_ = other.length_;
onChanged();
}
if (other.hasType()) {
bitField0_ |= 0x00000004;
type_ = other.type_;
onChanged();
}
if (other.hasDate()) {
bitField0_ |= 0x00000008;
date_ = other.date_;
onChanged();
}
this.mergeUnknownFields(other.getUnknownFields());
return this;
}
public final boolean isInitialized() {
if (!hasDnum()) {
return false;
}
if (!hasLength()) {
return false;
}
if (!hasType()) {
return false;
}
if (!hasDate()) {
return false;
}
return true;
}
public Builder mergeFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
com.bjsxt.hbase.Phone.PhoneDetail parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
parsedMessage = (com.bjsxt.hbase.Phone.PhoneDetail) e.getUnfinishedMessage();
throw e;
} finally {
if (parsedMessage != null) {
mergeFrom(parsedMessage);
}
}
return this;
}
private int bitField0_;
// required string dnum = 1;
private java.lang.Object dnum_ = "";
/**
* <code>required string dnum = 1;</code>
*/
public boolean hasDnum() {
return ((bitField0_ & 0x00000001) == 0x00000001);
}
/**
* <code>required string dnum = 1;</code>
*/
public java.lang.String getDnum() {
java.lang.Object ref = dnum_;
if (!(ref instanceof java.lang.String)) {
java.lang.String s = ((com.google.protobuf.ByteString) ref)
.toStringUtf8();
dnum_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
* <code>required string dnum = 1;</code>
*/
public com.google.protobuf.ByteString
getDnumBytes() {
java.lang.Object ref = dnum_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
dnum_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
* <code>required string dnum = 1;</code>
*/
public Builder setDnum(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
bitField0_ |= 0x00000001;
dnum_ = value;
onChanged();
return this;
}
/**
* <code>required string dnum = 1;</code>
*/
public Builder clearDnum() {
bitField0_ = (bitField0_ & ~0x00000001);
dnum_ = getDefaultInstance().getDnum();
onChanged();
return this;
}
/**
* <code>required string dnum = 1;</code>
*/
public Builder setDnumBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
bitField0_ |= 0x00000001;
dnum_ = value;
onChanged();
return this;
}
// required string length = 2;
private java.lang.Object length_ = "";
/**
* <code>required string length = 2;</code>
*/
public boolean hasLength() {
return ((bitField0_ & 0x00000002) == 0x00000002);
}
/**
* <code>required string length = 2;</code>
*/
public java.lang.String getLength() {
java.lang.Object ref = length_;
if (!(ref instanceof java.lang.String)) {
java.lang.String s = ((com.google.protobuf.ByteString) ref)
.toStringUtf8();
length_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
* <code>required string length = 2;</code>
*/
public com.google.protobuf.ByteString
getLengthBytes() {
java.lang.Object ref = length_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
length_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
* <code>required string length = 2;</code>
*/
public Builder setLength(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
bitField0_ |= 0x00000002;
length_ = value;
onChanged();
return this;
}
/**
* <code>required string length = 2;</code>
*/
public Builder clearLength() {
bitField0_ = (bitField0_ & ~0x00000002);
length_ = getDefaultInstance().getLength();
onChanged();
return this;
}
/**
* <code>required string length = 2;</code>
*/
public Builder setLengthBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
bitField0_ |= 0x00000002;
length_ = value;
onChanged();
return this;
}
// required string type = 3;
private java.lang.Object type_ = "";
/**
* <code>required string type = 3;</code>
*/
public boolean hasType() {
return ((bitField0_ & 0x00000004) == 0x00000004);
}
/**
* <code>required string type = 3;</code>
*/
public java.lang.String getType() {
java.lang.Object ref = type_;
if (!(ref instanceof java.lang.String)) {
java.lang.String s = ((com.google.protobuf.ByteString) ref)
.toStringUtf8();
type_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
* <code>required string type = 3;</code>
*/
public com.google.protobuf.ByteString
getTypeBytes() {
java.lang.Object ref = type_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
type_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
* <code>required string type = 3;</code>
*/
public Builder setType(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
bitField0_ |= 0x00000004;
type_ = value;
onChanged();
return this;
}
/**
* <code>required string type = 3;</code>
*/
public Builder clearType() {
bitField0_ = (bitField0_ & ~0x00000004);
type_ = getDefaultInstance().getType();
onChanged();
return this;
}
/**
* <code>required string type = 3;</code>
*/
public Builder setTypeBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
bitField0_ |= 0x00000004;
type_ = value;
onChanged();
return this;
}
// required string date = 4;
private java.lang.Object date_ = "";
/**
* <code>required string date = 4;</code>
*/
public boolean hasDate() {
return ((bitField0_ & 0x00000008) == 0x00000008);
}
/**
* <code>required string date = 4;</code>
*/
public java.lang.String getDate() {
java.lang.Object ref = date_;
if (!(ref instanceof java.lang.String)) {
java.lang.String s = ((com.google.protobuf.ByteString) ref)
.toStringUtf8();
date_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
* <code>required string date = 4;</code>
*/
public com.google.protobuf.ByteString
getDateBytes() {
java.lang.Object ref = date_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
date_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
* <code>required string date = 4;</code>
*/
public Builder setDate(
java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
bitField0_ |= 0x00000008;
date_ = value;
onChanged();
return this;
}
/**
* <code>required string date = 4;</code>
*/
public Builder clearDate() {
bitField0_ = (bitField0_ & ~0x00000008);
date_ = getDefaultInstance().getDate();
onChanged();
return this;
}
/**
* <code>required string date = 4;</code>
*/
public Builder setDateBytes(
com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
bitField0_ |= 0x00000008;
date_ = value;
onChanged();
return this;
}
// @@protoc_insertion_point(builder_scope:com.bjsxt.hbase.PhoneDetail)
}
static {
defaultInstance = new PhoneDetail(true);
defaultInstance.initFields();
}
// @@protoc_insertion_point(class_scope:com.bjsxt.hbase.PhoneDetail)
}
public interface DayOfPhoneOrBuilder
extends com.google.protobuf.MessageOrBuilder {
// repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
java.util.List<com.bjsxt.hbase.Phone.PhoneDetail>
getDayPhoneList();
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
com.bjsxt.hbase.Phone.PhoneDetail getDayPhone(int index);
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
int getDayPhoneCount();
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
java.util.List<? extends com.bjsxt.hbase.Phone.PhoneDetailOrBuilder>
getDayPhoneOrBuilderList();
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
com.bjsxt.hbase.Phone.PhoneDetailOrBuilder getDayPhoneOrBuilder(
int index);
}
/**
* Protobuf type {@code com.bjsxt.hbase.DayOfPhone}
*/
public static final class DayOfPhone extends
com.google.protobuf.GeneratedMessage
implements DayOfPhoneOrBuilder {
// Use DayOfPhone.newBuilder() to construct.
private DayOfPhone(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
super(builder);
this.unknownFields = builder.getUnknownFields();
}
private DayOfPhone(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }
private static final DayOfPhone defaultInstance;
public static DayOfPhone getDefaultInstance() {
return defaultInstance;
}
public DayOfPhone getDefaultInstanceForType() {
return defaultInstance;
}
private final com.google.protobuf.UnknownFieldSet unknownFields;
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
}
private DayOfPhone(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
initFields();
int mutable_bitField0_ = 0;
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
default: {
if (!parseUnknownField(input, unknownFields,
extensionRegistry, tag)) {
done = true;
}
break;
}
case 10: {
if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
dayPhone_ = new java.util.ArrayList<com.bjsxt.hbase.Phone.PhoneDetail>();
mutable_bitField0_ |= 0x00000001;
}
dayPhone_.add(input.readMessage(com.bjsxt.hbase.Phone.PhoneDetail.PARSER, extensionRegistry));
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(this);
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(
e.getMessage()).setUnfinishedMessage(this);
} finally {
if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
dayPhone_ = java.util.Collections.unmodifiableList(dayPhone_);
}
this.unknownFields = unknownFields.build();
makeExtensionsImmutable();
}
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return com.bjsxt.hbase.Phone.internal_static_com_bjsxt_hbase_DayOfPhone_descriptor;
}
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable() {
return com.bjsxt.hbase.Phone.internal_static_com_bjsxt_hbase_DayOfPhone_fieldAccessorTable
.ensureFieldAccessorsInitialized(
com.bjsxt.hbase.Phone.DayOfPhone.class, com.bjsxt.hbase.Phone.DayOfPhone.Builder.class);
}
public static com.google.protobuf.Parser<DayOfPhone> PARSER =
new com.google.protobuf.AbstractParser<DayOfPhone>() {
public DayOfPhone parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return new DayOfPhone(input, extensionRegistry);
}
};
@java.lang.Override
public com.google.protobuf.Parser<DayOfPhone> getParserForType() {
return PARSER;
}
// repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;
public static final int DAYPHONE_FIELD_NUMBER = 1;
private java.util.List<com.bjsxt.hbase.Phone.PhoneDetail> dayPhone_;
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public java.util.List<com.bjsxt.hbase.Phone.PhoneDetail> getDayPhoneList() {
return dayPhone_;
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public java.util.List<? extends com.bjsxt.hbase.Phone.PhoneDetailOrBuilder>
getDayPhoneOrBuilderList() {
return dayPhone_;
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public int getDayPhoneCount() {
return dayPhone_.size();
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public com.bjsxt.hbase.Phone.PhoneDetail getDayPhone(int index) {
return dayPhone_.get(index);
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public com.bjsxt.hbase.Phone.PhoneDetailOrBuilder getDayPhoneOrBuilder(
int index) {
return dayPhone_.get(index);
}
private void initFields() {
dayPhone_ = java.util.Collections.emptyList();
}
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized != -1) return isInitialized == 1;
for (int i = 0; i < getDayPhoneCount(); i++) {
if (!getDayPhone(i).isInitialized()) {
memoizedIsInitialized = 0;
return false;
}
}
memoizedIsInitialized = 1;
return true;
}
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
getSerializedSize();
for (int i = 0; i < dayPhone_.size(); i++) {
output.writeMessage(1, dayPhone_.get(i));
}
getUnknownFields().writeTo(output);
}
private int memoizedSerializedSize = -1;
public int getSerializedSize() {
int size = memoizedSerializedSize;
if (size != -1) return size;
size = 0;
for (int i = 0; i < dayPhone_.size(); i++) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(1, dayPhone_.get(i));
}
size += getUnknownFields().getSerializedSize();
memoizedSerializedSize = size;
return size;
}
private static final long serialVersionUID = 0L;
@java.lang.Override
protected java.lang.Object writeReplace()
throws java.io.ObjectStreamException {
return super.writeReplace();
}
public static com.bjsxt.hbase.Phone.DayOfPhone parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static com.bjsxt.hbase.Phone.DayOfPhone parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static com.bjsxt.hbase.Phone.DayOfPhone parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static com.bjsxt.hbase.Phone.DayOfPhone parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static com.bjsxt.hbase.Phone.DayOfPhone parseFrom(java.io.InputStream input)
throws java.io.IOException {
return PARSER.parseFrom(input);
}
public static com.bjsxt.hbase.Phone.DayOfPhone parseFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return PARSER.parseFrom(input, extensionRegistry);
}
public static com.bjsxt.hbase.Phone.DayOfPhone parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return PARSER.parseDelimitedFrom(input);
}
public static com.bjsxt.hbase.Phone.DayOfPhone parseDelimitedFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return PARSER.parseDelimitedFrom(input, extensionRegistry);
}
public static com.bjsxt.hbase.Phone.DayOfPhone parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return PARSER.parseFrom(input);
}
public static com.bjsxt.hbase.Phone.DayOfPhone parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return PARSER.parseFrom(input, extensionRegistry);
}
public static Builder newBuilder() { return Builder.create(); }
public Builder newBuilderForType() { return newBuilder(); }
public static Builder newBuilder(com.bjsxt.hbase.Phone.DayOfPhone prototype) {
return newBuilder().mergeFrom(prototype);
}
public Builder toBuilder() { return newBuilder(this); }
@java.lang.Override
protected Builder newBuilderForType(
com.google.protobuf.GeneratedMessage.BuilderParent parent) {
Builder builder = new Builder(parent);
return builder;
}
/**
* Protobuf type {@code com.bjsxt.hbase.DayOfPhone}
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessage.Builder<Builder>
implements com.bjsxt.hbase.Phone.DayOfPhoneOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return com.bjsxt.hbase.Phone.internal_static_com_bjsxt_hbase_DayOfPhone_descriptor;
}
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable() {
return com.bjsxt.hbase.Phone.internal_static_com_bjsxt_hbase_DayOfPhone_fieldAccessorTable
.ensureFieldAccessorsInitialized(
com.bjsxt.hbase.Phone.DayOfPhone.class, com.bjsxt.hbase.Phone.DayOfPhone.Builder.class);
}
// Construct using com.bjsxt.hbase.Phone.DayOfPhone.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
private Builder(
com.google.protobuf.GeneratedMessage.BuilderParent parent) {
super(parent);
maybeForceBuilderInitialization();
}
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
getDayPhoneFieldBuilder();
}
}
private static Builder create() {
return new Builder();
}
public Builder clear() {
super.clear();
if (dayPhoneBuilder_ == null) {
dayPhone_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00000001);
} else {
dayPhoneBuilder_.clear();
}
return this;
}
public Builder clone() {
return create().mergeFrom(buildPartial());
}
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
return com.bjsxt.hbase.Phone.internal_static_com_bjsxt_hbase_DayOfPhone_descriptor;
}
public com.bjsxt.hbase.Phone.DayOfPhone getDefaultInstanceForType() {
return com.bjsxt.hbase.Phone.DayOfPhone.getDefaultInstance();
}
public com.bjsxt.hbase.Phone.DayOfPhone build() {
com.bjsxt.hbase.Phone.DayOfPhone result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
public com.bjsxt.hbase.Phone.DayOfPhone buildPartial() {
com.bjsxt.hbase.Phone.DayOfPhone result = new com.bjsxt.hbase.Phone.DayOfPhone(this);
int from_bitField0_ = bitField0_;
if (dayPhoneBuilder_ == null) {
if (((bitField0_ & 0x00000001) == 0x00000001)) {
dayPhone_ = java.util.Collections.unmodifiableList(dayPhone_);
bitField0_ = (bitField0_ & ~0x00000001);
}
result.dayPhone_ = dayPhone_;
} else {
result.dayPhone_ = dayPhoneBuilder_.build();
}
onBuilt();
return result;
}
public Builder mergeFrom(com.google.protobuf.Message other) {
if (other instanceof com.bjsxt.hbase.Phone.DayOfPhone) {
return mergeFrom((com.bjsxt.hbase.Phone.DayOfPhone)other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(com.bjsxt.hbase.Phone.DayOfPhone other) {
if (other == com.bjsxt.hbase.Phone.DayOfPhone.getDefaultInstance()) return this;
if (dayPhoneBuilder_ == null) {
if (!other.dayPhone_.isEmpty()) {
if (dayPhone_.isEmpty()) {
dayPhone_ = other.dayPhone_;
bitField0_ = (bitField0_ & ~0x00000001);
} else {
ensureDayPhoneIsMutable();
dayPhone_.addAll(other.dayPhone_);
}
onChanged();
}
} else {
if (!other.dayPhone_.isEmpty()) {
if (dayPhoneBuilder_.isEmpty()) {
dayPhoneBuilder_.dispose();
dayPhoneBuilder_ = null;
dayPhone_ = other.dayPhone_;
bitField0_ = (bitField0_ & ~0x00000001);
dayPhoneBuilder_ =
com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
getDayPhoneFieldBuilder() : null;
} else {
dayPhoneBuilder_.addAllMessages(other.dayPhone_);
}
}
}
this.mergeUnknownFields(other.getUnknownFields());
return this;
}
public final boolean isInitialized() {
for (int i = 0; i < getDayPhoneCount(); i++) {
if (!getDayPhone(i).isInitialized()) {
return false;
}
}
return true;
}
public Builder mergeFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
com.bjsxt.hbase.Phone.DayOfPhone parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
parsedMessage = (com.bjsxt.hbase.Phone.DayOfPhone) e.getUnfinishedMessage();
throw e;
} finally {
if (parsedMessage != null) {
mergeFrom(parsedMessage);
}
}
return this;
}
private int bitField0_;
// repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;
private java.util.List<com.bjsxt.hbase.Phone.PhoneDetail> dayPhone_ =
java.util.Collections.emptyList();
private void ensureDayPhoneIsMutable() {
if (!((bitField0_ & 0x00000001) == 0x00000001)) {
dayPhone_ = new java.util.ArrayList<com.bjsxt.hbase.Phone.PhoneDetail>(dayPhone_);
bitField0_ |= 0x00000001;
}
}
private com.google.protobuf.RepeatedFieldBuilder<
com.bjsxt.hbase.Phone.PhoneDetail, com.bjsxt.hbase.Phone.PhoneDetail.Builder, com.bjsxt.hbase.Phone.PhoneDetailOrBuilder> dayPhoneBuilder_;
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public java.util.List<com.bjsxt.hbase.Phone.PhoneDetail> getDayPhoneList() {
if (dayPhoneBuilder_ == null) {
return java.util.Collections.unmodifiableList(dayPhone_);
} else {
return dayPhoneBuilder_.getMessageList();
}
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public int getDayPhoneCount() {
if (dayPhoneBuilder_ == null) {
return dayPhone_.size();
} else {
return dayPhoneBuilder_.getCount();
}
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public com.bjsxt.hbase.Phone.PhoneDetail getDayPhone(int index) {
if (dayPhoneBuilder_ == null) {
return dayPhone_.get(index);
} else {
return dayPhoneBuilder_.getMessage(index);
}
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public Builder setDayPhone(
int index, com.bjsxt.hbase.Phone.PhoneDetail value) {
if (dayPhoneBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureDayPhoneIsMutable();
dayPhone_.set(index, value);
onChanged();
} else {
dayPhoneBuilder_.setMessage(index, value);
}
return this;
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public Builder setDayPhone(
int index, com.bjsxt.hbase.Phone.PhoneDetail.Builder builderForValue) {
if (dayPhoneBuilder_ == null) {
ensureDayPhoneIsMutable();
dayPhone_.set(index, builderForValue.build());
onChanged();
} else {
dayPhoneBuilder_.setMessage(index, builderForValue.build());
}
return this;
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public Builder addDayPhone(com.bjsxt.hbase.Phone.PhoneDetail value) {
if (dayPhoneBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureDayPhoneIsMutable();
dayPhone_.add(value);
onChanged();
} else {
dayPhoneBuilder_.addMessage(value);
}
return this;
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public Builder addDayPhone(
int index, com.bjsxt.hbase.Phone.PhoneDetail value) {
if (dayPhoneBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureDayPhoneIsMutable();
dayPhone_.add(index, value);
onChanged();
} else {
dayPhoneBuilder_.addMessage(index, value);
}
return this;
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public Builder addDayPhone(
com.bjsxt.hbase.Phone.PhoneDetail.Builder builderForValue) {
if (dayPhoneBuilder_ == null) {
ensureDayPhoneIsMutable();
dayPhone_.add(builderForValue.build());
onChanged();
} else {
dayPhoneBuilder_.addMessage(builderForValue.build());
}
return this;
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public Builder addDayPhone(
int index, com.bjsxt.hbase.Phone.PhoneDetail.Builder builderForValue) {
if (dayPhoneBuilder_ == null) {
ensureDayPhoneIsMutable();
dayPhone_.add(index, builderForValue.build());
onChanged();
} else {
dayPhoneBuilder_.addMessage(index, builderForValue.build());
}
return this;
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public Builder addAllDayPhone(
java.lang.Iterable<? extends com.bjsxt.hbase.Phone.PhoneDetail> values) {
if (dayPhoneBuilder_ == null) {
ensureDayPhoneIsMutable();
super.addAll(values, dayPhone_);
onChanged();
} else {
dayPhoneBuilder_.addAllMessages(values);
}
return this;
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public Builder clearDayPhone() {
if (dayPhoneBuilder_ == null) {
dayPhone_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00000001);
onChanged();
} else {
dayPhoneBuilder_.clear();
}
return this;
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public Builder removeDayPhone(int index) {
if (dayPhoneBuilder_ == null) {
ensureDayPhoneIsMutable();
dayPhone_.remove(index);
onChanged();
} else {
dayPhoneBuilder_.remove(index);
}
return this;
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public com.bjsxt.hbase.Phone.PhoneDetail.Builder getDayPhoneBuilder(
int index) {
return getDayPhoneFieldBuilder().getBuilder(index);
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public com.bjsxt.hbase.Phone.PhoneDetailOrBuilder getDayPhoneOrBuilder(
int index) {
if (dayPhoneBuilder_ == null) {
return dayPhone_.get(index); } else {
return dayPhoneBuilder_.getMessageOrBuilder(index);
}
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public java.util.List<? extends com.bjsxt.hbase.Phone.PhoneDetailOrBuilder>
getDayPhoneOrBuilderList() {
if (dayPhoneBuilder_ != null) {
return dayPhoneBuilder_.getMessageOrBuilderList();
} else {
return java.util.Collections.unmodifiableList(dayPhone_);
}
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public com.bjsxt.hbase.Phone.PhoneDetail.Builder addDayPhoneBuilder() {
return getDayPhoneFieldBuilder().addBuilder(
com.bjsxt.hbase.Phone.PhoneDetail.getDefaultInstance());
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public com.bjsxt.hbase.Phone.PhoneDetail.Builder addDayPhoneBuilder(
int index) {
return getDayPhoneFieldBuilder().addBuilder(
index, com.bjsxt.hbase.Phone.PhoneDetail.getDefaultInstance());
}
/**
* <code>repeated .com.bjsxt.hbase.PhoneDetail DayPhone = 1;</code>
*/
public java.util.List<com.bjsxt.hbase.Phone.PhoneDetail.Builder>
getDayPhoneBuilderList() {
return getDayPhoneFieldBuilder().getBuilderList();
}
private com.google.protobuf.RepeatedFieldBuilder<
com.bjsxt.hbase.Phone.PhoneDetail, com.bjsxt.hbase.Phone.PhoneDetail.Builder, com.bjsxt.hbase.Phone.PhoneDetailOrBuilder>
getDayPhoneFieldBuilder() {
if (dayPhoneBuilder_ == null) {
dayPhoneBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
com.bjsxt.hbase.Phone.PhoneDetail, com.bjsxt.hbase.Phone.PhoneDetail.Builder, com.bjsxt.hbase.Phone.PhoneDetailOrBuilder>(
dayPhone_,
((bitField0_ & 0x00000001) == 0x00000001),
getParentForChildren(),
isClean());
dayPhone_ = null;
}
return dayPhoneBuilder_;
}
// @@protoc_insertion_point(builder_scope:com.bjsxt.hbase.DayOfPhone)
}
static {
defaultInstance = new DayOfPhone(true);
defaultInstance.initFields();
}
// @@protoc_insertion_point(class_scope:com.bjsxt.hbase.DayOfPhone)
}
private static com.google.protobuf.Descriptors.Descriptor
internal_static_com_bjsxt_hbase_PhoneDetail_descriptor;
private static
com.google.protobuf.GeneratedMessage.FieldAccessorTable
internal_static_com_bjsxt_hbase_PhoneDetail_fieldAccessorTable;
private static com.google.protobuf.Descriptors.Descriptor
internal_static_com_bjsxt_hbase_DayOfPhone_descriptor;
private static
com.google.protobuf.GeneratedMessage.FieldAccessorTable
internal_static_com_bjsxt_hbase_DayOfPhone_fieldAccessorTable;
public static com.google.protobuf.Descriptors.FileDescriptor
getDescriptor() {
return descriptor;
}
private static com.google.protobuf.Descriptors.FileDescriptor
descriptor;
static {
java.lang.String[] descriptorData = {
"\n\013phone.proto\022\017com.bjsxt.hbase\"G\n\013PhoneD" +
"etail\022\014\n\004dnum\030\001 \002(\t\022\016\n\006length\030\002 \002(\t\022\014\n\004t" +
"ype\030\003 \002(\t\022\014\n\004date\030\004 \002(\t\"<\n\nDayOfPhone\022.\n" +
"\010DayPhone\030\001 \003(\0132\034.com.bjsxt.hbase.PhoneD" +
"etail"
};
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
public com.google.protobuf.ExtensionRegistry assignDescriptors(
com.google.protobuf.Descriptors.FileDescriptor root) {
descriptor = root;
internal_static_com_bjsxt_hbase_PhoneDetail_descriptor =
getDescriptor().getMessageTypes().get(0);
internal_static_com_bjsxt_hbase_PhoneDetail_fieldAccessorTable = new
com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_com_bjsxt_hbase_PhoneDetail_descriptor,
new java.lang.String[] { "Dnum", "Length", "Type", "Date", });
internal_static_com_bjsxt_hbase_DayOfPhone_descriptor =
getDescriptor().getMessageTypes().get(1);
internal_static_com_bjsxt_hbase_DayOfPhone_fieldAccessorTable = new
com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_com_bjsxt_hbase_DayOfPhone_descriptor,
new java.lang.String[] { "DayPhone", });
return null;
}
};
com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
new com.google.protobuf.Descriptors.FileDescriptor[] {
}, assigner);
}
// @@protoc_insertion_point(outer_class_scope)
}
PhoneCase_practice.java
package com.bjsxt.hbase;
import java.io.IOException;
import java.io.InterruptedIOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.CellUtil;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.ZooKeeperConnectionException;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
import org.apache.hadoop.hbase.filter.FilterList;
import org.apache.hadoop.hbase.filter.PrefixFilter;
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
import org.apache.hadoop.hbase.util.Bytes;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.bjsxt.hbase.Phone.DayOfPhone;
import com.bjsxt.hbase.Phone.PhoneDetail;
/**
* 电话 小区电话案例 , 包装对象的 使用。
* @author asus
*
*/
public class PhoneCase_practice {
// 表的 管理对象,负责表的 创建,和删除
HBaseAdmin admin = null;
// 数据的 管理类
HTable table = null;
// 表名
String tm = "phone2";
// 列族
String familyName = "cf";
@Before
public void init() throws MasterNotRunningException, ZooKeeperConnectionException, IOException {
Configuration conf = new Configuration();
conf.set("hbase.zookeeper.quorum", "node07,node08,node09");
// conf.set("fs.defaultFs", "hdfs://node06:8020");
// conf.set("mapreduce.framework.name", "yarn");
// conf.set("ha.zookeeper.yuorum", "node07,node08,node09");
// conf.set("yarn.resourcemanager.hostname", "node08");
admin = new HBaseAdmin(conf);
table = new HTable(conf, tm.getBytes());
}
/*
* 创建表 phone2
*/
@Test
public void createTable() throws IOException {
// 表的描述 和 列的 描述
HTableDescriptor desc = new HTableDescriptor(TableName.valueOf(tm));
HColumnDescriptor family = new HColumnDescriptor(familyName);
desc.addFamily(family);
if (admin.tableExists(tm)) {
admin.disableTable(tm);
admin.deleteTable(tm);
}
admin.createTable(desc);
}
Random r = new Random();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmmss");
/**
* 10个用户 ,每一个用户 每年产生1000个通话记录
* dnum : 对放手机号
* type : 0主叫 1被叫
* length : 长度
* date :时间
* @throws InterruptedIOException
* @throws RetriesExhaustedWithDetailsException
* @throws ParseException
* @throws Exception
*/
@Test
public void insert() throws RetriesExhaustedWithDetailsException, InterruptedIOException, ParseException {
List<Put> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
String phoneNumber = getPhone("158");
for (int j = 0; j < 1000; j++) {
// 属性
String dnum = getPhone("177");
String length = String.valueOf(r.nextInt(99)); // 通话时长
String type = String.valueOf(r.nextInt(2));
String date = getDate("2018");
String rowKey = phoneNumber+"_"+String.valueOf(Long.MAX_VALUE-sdf.parse(date).getTime());
Put put = new Put(rowKey .getBytes());
put.add(familyName.getBytes(), "dnum".getBytes(), dnum.getBytes());
put.add(familyName.getBytes(), "length".getBytes(), length.getBytes());
put.add(familyName.getBytes(), "type".getBytes(), type.getBytes());
put.add(familyName.getBytes(), "date".getBytes(), date.getBytes());
list.add(put);
}
}
table.put(list);
}
/**
* 查询 某一个用户 3 月份的 所有用户记录
* startRow
* stopRow
* @throws ParseException
* @throws IOException
*/
@Test
public void scan() throws Exception {
String phoneNum = "15894908883";
String startRow = phoneNum+"_"+String.valueOf(Long.MAX_VALUE-sdf.parse("20180401000000").getTime());
String stopRow = phoneNum+"_"+String.valueOf(Long.MAX_VALUE-sdf.parse("20180301000000").getTime());;
Scan scan = new Scan();
scan.setStartRow(startRow.getBytes());
scan.setStopRow(stopRow.getBytes());
ResultScanner scanner = table.getScanner(scan);
for (org.apache.hadoop.hbase.client.Result result : scanner) {
String dnum = Bytes.toString(CellUtil.cloneValue(result.getColumnLatestCell(familyName.getBytes(), "dnum".getBytes())));
String length = Bytes.toString(CellUtil.cloneValue(result.getColumnLatestCell(familyName.getBytes(), "length".getBytes())));
String type = Bytes.toString(CellUtil.cloneValue(result.getColumnLatestCell(familyName.getBytes(), "type".getBytes())));
String date = Bytes.toString(CellUtil.cloneValue(result.getColumnLatestCell(familyName.getBytes(), "date".getBytes())));
System.out.println(dnum+ " == "+length+" == "+type+" = "+date);
}
scanner.close();
}
/**
* 查看 一个用户 所有的 主叫电话
* 条件 :
* 电话号码
* type = 0
* @throws IOException
*/
@Test
public void scan2() throws Exception {
FilterList filters = new FilterList(FilterList.Operator.MUST_PASS_ALL);
SingleColumnValueFilter filter1 = new SingleColumnValueFilter(familyName.getBytes(), "type".getBytes(), CompareOp.EQUAL, "0".getBytes());
PrefixFilter filter2 = new PrefixFilter("15894908883".getBytes());
filters.addFilter(filter1);
filters.addFilter(filter2);
Scan scan = new Scan();
scan.setFilter(filters);
ResultScanner scanner = table.getScanner(scan);
int i = 0;
for (org.apache.hadoop.hbase.client.Result result : scanner) {
String dnum = Bytes.toString(CellUtil.cloneValue(result.getColumnLatestCell(familyName.getBytes(), "dnum".getBytes())));
String length = Bytes.toString(CellUtil.cloneValue(result.getColumnLatestCell(familyName.getBytes(), "length".getBytes())));
String type = Bytes.toString(CellUtil.cloneValue(result.getColumnLatestCell(familyName.getBytes(), "type".getBytes())));
String date = Bytes.toString(CellUtil.cloneValue(result.getColumnLatestCell(familyName.getBytes(), "date".getBytes())));
System.out.println(dnum+ " == "+length+" == "+type+" = "+date);
i++;
}
System.out.println("共有 "+i);
scanner.close();
}
private String getPhone(String string) {
return string+String.format("%08d", r.nextInt(99999999));
}
private String getDate(String string) {
return string+String.format("%02d%02d%02d%02d%02d", r.nextInt(12)+1,r.nextInt(31),
r.nextInt(24),r.nextInt(60),r.nextInt(60));
}
/**
* 10个用户 1000条 每一个记录当做一个对对象
* @throws ParseException
* @throws InterruptedIOException
* @throws RetriesExhaustedWithDetailsException
*/
@Test
public void insert2() throws ParseException, RetriesExhaustedWithDetailsException, InterruptedIOException{
List<Put> puts = new ArrayList<>();
for(int i = 0;i < 10;i++){
String phoneNumber = getPhone("158");
for(int j = 0;j<1000;j++){
// 属性
String dnum = getPhone("177");
String length = String.valueOf(r.nextInt(99));// 通话时长
String type = String.valueOf(r.nextInt(2));
String date = getDate("2018");
// 保存在一个对象中 cf:phoneDail value: phoneDAil
Phone.PhoneDetail.Builder phoneDetail = Phone.PhoneDetail.newBuilder();
phoneDetail.setDate(date);
phoneDetail.setDnum(dnum);
phoneDetail.setLength(length);
phoneDetail.setType(type);
String rowkey = phoneNumber+"_"+String.valueOf(Long.MAX_VALUE-sdf.parse(date).getTime());
Put put = new Put(rowkey .getBytes());
put.add(familyName.getBytes(), "phoneDetail".getBytes(),phoneDetail.build().toByteArray());
puts.add(put);
}
}
table.put(puts);
}
@Test
public void get2() throws IOException {
Get get = new Get("15814840952_9223370519726076807".getBytes());
Result result = table.get(get);
PhoneDetail phoneDetail = Phone.PhoneDetail.parseFrom(CellUtil.cloneValue(result.getColumnLatestCell(familyName.getBytes(), "phoneDetail".getBytes())));
System.out.println(phoneDetail);
}
/**
* 10 个用户 ,20181225产生 1000条记录 每一天的记录放在一个rowkey中
*
* 把 多个同一个对象1装入 另一个对象2中
* @throws Exception
*/
@Test
public void insert3() throws ParseException, RetriesExhaustedWithDetailsException, InterruptedIOException{
List<Put> puts = new ArrayList<>();
for(int i = 0;i < 10;i++){
String phoneNumber = getPhone("133");
String rowkey = phoneNumber+"_"+String.valueOf(Long.MAX_VALUE-sdf.parse("20181225000000").getTime());
Phone.DayOfPhone.Builder dayOfPhone = Phone.DayOfPhone.newBuilder();
for(int j = 0;j<1000;j++){
// 属性
String dnum = getPhone("177");
String length = String.valueOf(r.nextInt(99));// 通话时长
String type = String.valueOf(r.nextInt(2));
String date = getDate2("20181225");
// 保存在一个对象中 cf:phoneDail value: phoneDAil
Phone.PhoneDetail.Builder phoneDetail = Phone.PhoneDetail.newBuilder();
phoneDetail.setDate(date);
phoneDetail.setDnum(dnum);
phoneDetail.setLength(length);
phoneDetail.setType(type);
dayOfPhone.addDayPhone(phoneDetail);
}
Put put = new Put(rowkey.getBytes());
put.add(familyName.getBytes(), "dayOfPhone".getBytes(),dayOfPhone.build().toByteArray());
puts.add(put); // 10 条数据
}
table.put(puts);
}
@Test
public void get3() throws IOException {
Get get = new Get("13324399746_9223370491187575807".getBytes()); // 获取row
Result result = table.get(get);
DayOfPhone dayOfPhone = Phone.DayOfPhone.parseFrom(CellUtil.cloneValue(result.getColumnLatestCell(familyName.getBytes(), "dayOfPhone".getBytes())));
List<PhoneDetail> dayPhoneList = dayOfPhone.getDayPhoneList();
for (PhoneDetail phoneDetail : dayPhoneList) {
System.out.println(phoneDetail);
}
}
@SuppressWarnings("unused")
private String getDate2(String string) {
return string+String.format("%02d%02d%02d", r.nextInt(24),r.nextInt(60),r.nextInt(60));
}
/**
*
* @throws IOException
*/
@After
public void destory() throws IOException{
if (admin!=null){
admin.close();
}
}
}