Package com.alibaba.wasp.plan.parser.AggregateInfo

Examples of com.alibaba.wasp.plan.parser.AggregateInfo.AggregateType


      }
      scan.setFilter(filters);

      String tableName =  StorageTableNameBuilder.buildEntityTableName(plan.getTableDesc().getTableName());

      AggregateType type = info.getAggregateType();

      byte[] value = null;
      DataType resultDataType = DataType.STRING;

      try {
        switch (type) {
          case COUNT: {
            long count = aggregationClient.count(Bytes.toBytes(tableName),
                null, scan);
            value = Bytes.toBytes(count);
            resultDataType = DataType.INT64;
            break;
          }
          case SUM: {
            value = getSumValue(tableName, info.getField(), scan);
            resultDataType = info.getField().getType();
            break;
          }
        }
      } catch (Throwable throwable) {
        throw new ServiceException(throwable);
      }

      ClientProtos.QueryResultProto.Builder builder = ClientProtos.QueryResultProto.newBuilder();
            builder.addResult(ProtobufUtil.toStringBytesPair(new KeyValue(Bytes.toBytes(type.getMethodName()),
                Bytes.toBytes(info.getField().getFamily()), Bytes.toBytes(type.getMethodName()), value)));
            queryResultProtos.add(builder.build());

      MetaProtos.DataTypeProtos dataTypeProtos = DataType.convertDataTypeToDataTypeProtos(resultDataType) ;
            ClientProtos.StringDataTypePair.Builder stringDataTypePairBuilder = ClientProtos.StringDataTypePair
              .newBuilder();
      stringDataTypePairBuilder.setDataType(dataTypeProtos);
      stringDataTypePairBuilder.setName(type.getMethodName());
      nameDataTypePairs.add(stringDataTypePairBuilder.build());

      return new Pair<List<ClientProtos.QueryResultProto>, List<ClientProtos.StringDataTypePair>>(
          queryResultProtos, nameDataTypePairs);
    }
View Full Code Here

TOP

Related Classes of com.alibaba.wasp.plan.parser.AggregateInfo.AggregateType

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.