org.apache.hadoop.hbase.client.coprocessor
Class DoubleColumnInterpreter

java.lang.Object
  extended by org.apache.hadoop.hbase.coprocessor.ColumnInterpreter<Double,Double,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg>
      extended by org.apache.hadoop.hbase.client.coprocessor.DoubleColumnInterpreter

@InterfaceAudience.Public
@InterfaceStability.Evolving
public class DoubleColumnInterpreter
extends ColumnInterpreter<Double,Double,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg>

a concrete column interpreter implementation. The cell value is a Double value and its promoted data type is also a Double value. For computing aggregation function, this class is used to find the datatype of the cell value. Client is supposed to instantiate it and passed along as a parameter. See TestDoubleColumnInterpreter methods for its sample usage. Its methods handle null arguments gracefully.


Constructor Summary
DoubleColumnInterpreter()
           
 
Method Summary
 Double add(Double d1, Double d2)
           
 Double castToCellType(Double d)
          The response message comes as type S.
 Double castToReturnType(Double o)
          provides casting opportunity between the data types.
 int compare(Double d1, Double d2)
          This takes care if either of arguments are null.
 double divideForAvg(Double d1, Long l2)
          used for computing average of data values.
 Double getCellValueFromProto(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg q)
          This method gets the PB message corresponding to the cell type
 Double getMaxValue()
          returns the maximum value for this type T
 Double getMinValue()
           
 Double getPromotedValueFromProto(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg r)
          This method gets the promoted type from the proto message
 org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg getProtoForCellType(Double t)
          This method gets the PB message corresponding to the cell type
 org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg getProtoForPromotedType(Double s)
          This method gets the PB message corresponding to the promoted type
 org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg getRequestData()
          This method should return any additional data that is needed on the server side to construct the ColumnInterpreter.
 Double getValue(byte[] colFamily, byte[] colQualifier, Cell c)
          TODO: when removing ColumnInterpreter.getValue(byte[], byte[], KeyValue), this method should be made abstract
 Double increment(Double o)
           
 void initialize(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg msg)
          This method should initialize any field(s) of the ColumnInterpreter with a parsing of the passed message bytes (used on the server side).
 Double multiply(Double d1, Double d2)
           
 
Methods inherited from class org.apache.hadoop.hbase.coprocessor.ColumnInterpreter
getValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DoubleColumnInterpreter

public DoubleColumnInterpreter()
Method Detail

getValue

public Double getValue(byte[] colFamily,
                       byte[] colQualifier,
                       Cell c)
                throws IOException
Description copied from class: ColumnInterpreter
TODO: when removing ColumnInterpreter.getValue(byte[], byte[], KeyValue), this method should be made abstract

Overrides:
getValue in class ColumnInterpreter<Double,Double,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg>
Returns:
value of type T
Throws:
IOException

add

public Double add(Double d1,
                  Double d2)
Specified by:
add in class ColumnInterpreter<Double,Double,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg>
Returns:
sum or non null value among (if either of them is null); otherwise returns a null.

compare

public int compare(Double d1,
                   Double d2)
Description copied from class: ColumnInterpreter
This takes care if either of arguments are null. returns 0 if they are equal or both are null;

getMaxValue

public Double getMaxValue()
Description copied from class: ColumnInterpreter
returns the maximum value for this type T

Specified by:
getMaxValue in class ColumnInterpreter<Double,Double,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg>
Returns:
max

increment

public Double increment(Double o)
Specified by:
increment in class ColumnInterpreter<Double,Double,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg>
Returns:
increment

multiply

public Double multiply(Double d1,
                       Double d2)
Specified by:
multiply in class ColumnInterpreter<Double,Double,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg>
Returns:
multiplication

getMinValue

public Double getMinValue()
Specified by:
getMinValue in class ColumnInterpreter<Double,Double,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg>

divideForAvg

public double divideForAvg(Double d1,
                           Long l2)
Description copied from class: ColumnInterpreter
used for computing average of data values. Not providing the divide method that takes two values as it is not needed as of now.

Specified by:
divideForAvg in class ColumnInterpreter<Double,Double,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg>
Returns:
Average

castToReturnType

public Double castToReturnType(Double o)
Description copied from class: ColumnInterpreter
provides casting opportunity between the data types.

Specified by:
castToReturnType in class ColumnInterpreter<Double,Double,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg>
Returns:
cast

castToCellType

public Double castToCellType(Double d)
Description copied from class: ColumnInterpreter
The response message comes as type S. This will convert/cast it to T. In some sense, performs the opposite of ColumnInterpreter.castToReturnType(Object)

Specified by:
castToCellType in class ColumnInterpreter<Double,Double,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg>
Returns:
cast

getRequestData

public org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg getRequestData()
Description copied from class: ColumnInterpreter
This method should return any additional data that is needed on the server side to construct the ColumnInterpreter. The server will pass this to the ColumnInterpreter.initialize(P) method. If there is no ColumnInterpreter specific data (for e.g., LongColumnInterpreter) then null should be returned.

Specified by:
getRequestData in class ColumnInterpreter<Double,Double,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg>
Returns:
the PB message

initialize

public void initialize(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg msg)
Description copied from class: ColumnInterpreter
This method should initialize any field(s) of the ColumnInterpreter with a parsing of the passed message bytes (used on the server side).

Specified by:
initialize in class ColumnInterpreter<Double,Double,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg>

getProtoForCellType

public org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg getProtoForCellType(Double t)
Description copied from class: ColumnInterpreter
This method gets the PB message corresponding to the cell type

Specified by:
getProtoForCellType in class ColumnInterpreter<Double,Double,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg>
Returns:
the PB message for the cell-type instance

getProtoForPromotedType

public org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg getProtoForPromotedType(Double s)
Description copied from class: ColumnInterpreter
This method gets the PB message corresponding to the promoted type

Specified by:
getProtoForPromotedType in class ColumnInterpreter<Double,Double,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg>
Returns:
the PB message for the promoted-type instance

getPromotedValueFromProto

public Double getPromotedValueFromProto(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg r)
Description copied from class: ColumnInterpreter
This method gets the promoted type from the proto message

Specified by:
getPromotedValueFromProto in class ColumnInterpreter<Double,Double,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg>
Returns:
the promoted-type instance from the PB message

getCellValueFromProto

public Double getCellValueFromProto(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg q)
Description copied from class: ColumnInterpreter
This method gets the PB message corresponding to the cell type

Specified by:
getCellValueFromProto in class ColumnInterpreter<Double,Double,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.EmptyMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg,org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.DoubleMsg>
Returns:
the cell-type instance from the PB message


Copyright © 2007-2016 The Apache Software Foundation. All Rights Reserved.