Package io.druid.segment.column

Examples of io.druid.segment.column.ColumnCapabilities


    final Map<String, ColumnCapabilitiesImpl> columnCapabilities = Maps.newHashMap();

    for (IndexableAdapter adapter : indexes) {
      for (String dimension : adapter.getDimensionNames()) {
        ColumnCapabilitiesImpl mergedCapabilities = columnCapabilities.get(dimension);
        ColumnCapabilities capabilities = adapter.getCapabilities(dimension);
        if (mergedCapabilities == null) {
          mergedCapabilities = new ColumnCapabilitiesImpl();
          mergedCapabilities.setType(ValueType.STRING);
        }
        columnCapabilities.put(dimension, mergedCapabilities.merge(capabilities));
      }
      for (String metric : adapter.getMetricNames()) {
        ColumnCapabilitiesImpl mergedCapabilities = columnCapabilities.get(metric);
        ColumnCapabilities capabilities = adapter.getCapabilities(metric);
        if (mergedCapabilities == null) {
          mergedCapabilities = new ColumnCapabilitiesImpl();
        }
        columnCapabilities.put(metric, mergedCapabilities.merge(capabilities));

        valueTypes.put(metric, capabilities.getType());
        metricTypeNames.put(metric, adapter.getMetricType(metric));
      }
    }

View Full Code Here


                      if (cachedColumnVals == null) {
                        Column holder = index.getColumn(columnName);

                        if (holder != null) {
                          final ColumnCapabilities capabilities = holder.getCapabilities();

                          if (capabilities.isDictionaryEncoded()) {
                            cachedColumnVals = holder.getDictionaryEncoding();
                          } else if (capabilities.getType() == ValueType.COMPLEX) {
                            cachedColumnVals = holder.getComplexColumn();
                          } else {
                            cachedColumnVals = holder.getGenericColumn();
                          }
                        }
View Full Code Here

    final Map<String, ColumnCapabilitiesImpl> columnCapabilities = Maps.newHashMap();

    for (IndexableAdapter adapter : adapters) {
      for (String dimension : adapter.getDimensionNames()) {
        ColumnCapabilitiesImpl mergedCapabilities = columnCapabilities.get(dimension);
        ColumnCapabilities capabilities = adapter.getCapabilities(dimension);
        if (mergedCapabilities == null) {
          mergedCapabilities = new ColumnCapabilitiesImpl();
          mergedCapabilities.setType(ValueType.STRING);
        }
        columnCapabilities.put(dimension, mergedCapabilities.merge(capabilities));
      }
      for (String metric : adapter.getMetricNames()) {
        ColumnCapabilitiesImpl mergedCapabilities = columnCapabilities.get(metric);
        ColumnCapabilities capabilities = adapter.getCapabilities(metric);
        if (mergedCapabilities == null) {
          mergedCapabilities = new ColumnCapabilitiesImpl();
        }
        columnCapabilities.put(metric, mergedCapabilities.merge(capabilities));

        valueTypes.put(metric, capabilities.getType());
        metricTypeNames.put(metric, adapter.getMetricType(metric));
      }
    }

    outDir.mkdirs();
View Full Code Here

    Map<String, ColumnAnalysis> columns = Maps.newTreeMap();

    for (String columnName : index.getColumnNames()) {
      final Column column = index.getColumn(columnName);
      final ColumnCapabilities capabilities = column.getCapabilities();

      final ColumnAnalysis analysis;
      final ValueType type = capabilities.getType();
      switch(type) {
        case LONG:
          analysis = analyzeLongColumn(column);
          break;
        case FLOAT:
View Full Code Here

    return lengthBasedAnalysis(column, NUM_BYTES_IN_TEXT_FLOAT);
  }

  private ColumnAnalysis lengthBasedAnalysis(Column column, final int numBytes)
  {
    final ColumnCapabilities capabilities = column.getCapabilities();
    if (capabilities.hasMultipleValues()) {
      return ColumnAnalysis.error("multi_value");
    }

    return new ColumnAnalysis(capabilities.getType().name(), column.getLength() * numBytes, null, null);
  }
View Full Code Here

    return new ColumnAnalysis(capabilities.getType().name(), column.getLength() * numBytes, null, null);
  }

  public ColumnAnalysis analyzeStringColumn(Column column)
  {
    final ColumnCapabilities capabilities = column.getCapabilities();

    if (capabilities.hasBitmapIndexes()) {
      final BitmapIndex bitmapIndex = column.getBitmapIndex();

      int cardinality = bitmapIndex.getCardinality();
      long size = 0;
      for (int i = 0; i < cardinality; ++i) {
        String value = bitmapIndex.getValue(i);

        if (value != null) {
          size += value.getBytes(Charsets.UTF_8).length * bitmapIndex.getBitmap(value).size();
        }
      }

      return new ColumnAnalysis(capabilities.getType().name(), size, cardinality, null);
    }

    return ColumnAnalysis.error("string_no_bitmap");
  }
View Full Code Here

    return ColumnAnalysis.error("string_no_bitmap");
  }

  public ColumnAnalysis analyzeComplexColumn(Column column)
  {
    final ColumnCapabilities capabilities = column.getCapabilities();
    final ComplexColumn complexColumn = column.getComplexColumn();

    final String typeName = complexColumn.getTypeName();
    final ComplexMetricSerde serde = ComplexMetrics.getSerdeForType(typeName);
    if (serde == null) {
      return ColumnAnalysis.error(String.format("unknown_complex_%s", typeName));
    }

    final Function<Object, Long> inputSizeFn = serde.inputSizeFn();
    if (inputSizeFn == null) {
      return ColumnAnalysis.error("noSizeFn");
    }

    final int length = column.getLength();
    long size = 0;
    for (int i = 0; i < length; ++i) {
      size += inputSizeFn.apply(complexColumn.getRowValue(i));
    }

    return new ColumnAnalysis(capabilities.getType().name(), size, null, null);
  }
View Full Code Here

TOP

Related Classes of io.druid.segment.column.ColumnCapabilities

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.