org.apache.druid.segment.QueryableIndex类的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(7.0k)|赞(0)|评价(0)|浏览(88)

本文整理了Java中org.apache.druid.segment.QueryableIndex类的一些代码示例,展示了QueryableIndex类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryableIndex类的具体详情如下:
包路径:org.apache.druid.segment.QueryableIndex
类名称:QueryableIndex

QueryableIndex介绍

[英]Direct interface to memory mapped segments. Not a public API for extensions; site specific queries should be using StorageAdapter.
[中]直接连接到内存映射段。不是用于扩展的公共API;特定于站点的查询应使用StorageAdapter。

代码示例

代码示例来源:origin: apache/incubator-druid

@Override
public Interval getInterval()
{
 return index.getDataInterval();
}

代码示例来源:origin: apache/incubator-druid

public QueryableIndexIndexableAdapter(QueryableIndex input)
{
 this.input = input;
 numRows = input.getNumRows();
 availableDimensions = ImmutableList.copyOf(input.getAvailableDimensions());
 this.metadata = input.getMetadata();
}

代码示例来源:origin: apache/incubator-druid

@Override
public ColumnCapabilities getCapabilities(String column)
{
 return input.getColumnHolder(column).getCapabilities();
}

代码示例来源:origin: apache/incubator-druid

@Override
public Iterable<String> getAvailableMetrics()
{
 HashSet<String> columnNames = Sets.newHashSet(index.getColumnNames());
 return Sets.difference(columnNames, Sets.newHashSet(index.getAvailableDimensions()));
}

代码示例来源:origin: apache/incubator-druid

private List<String> getColumnsToInclude(final QueryableIndex index)
{
 final Set<String> columnNames = Sets.newLinkedHashSet(columnNamesFromCli);
 // Empty columnNames => include all columns.
 if (columnNames.isEmpty()) {
  columnNames.add(ColumnHolder.TIME_COLUMN_NAME);
  Iterables.addAll(columnNames, index.getColumnNames());
 } else {
  // Remove any provided columns that do not exist in this segment.
  for (String columnName : ImmutableList.copyOf(columnNames)) {
   if (index.getColumnHolder(columnName) == null) {
    columnNames.remove(columnName);
   }
  }
 }
 return ImmutableList.copyOf(columnNames);
}

代码示例来源:origin: apache/incubator-druid

@Test
public void testPersist() throws Exception
{
 final long timestamp = System.currentTimeMillis();
 IncrementalIndex toPersist = IncrementalIndexTest.createIndex(null);
 IncrementalIndexTest.populateIndex(timestamp, toPersist);
 final File tempDir = temporaryFolder.newFolder();
 QueryableIndex index = closer.closeLater(
   indexIO.loadIndex(indexMerger.persist(toPersist, tempDir, indexSpec, null))
 );
 Assert.assertEquals(2, index.getColumnHolder(ColumnHolder.TIME_COLUMN_NAME).getLength());
 Assert.assertEquals(Arrays.asList("dim1", "dim2"), Lists.newArrayList(index.getAvailableDimensions()));
 Assert.assertEquals(3, index.getColumnNames().size());
 assertDimCompression(index, indexSpec.getDimensionCompression());
 Assert.assertArrayEquals(
   IncrementalIndexTest.getDefaultCombiningAggregatorFactories(),
   index.getMetadata().getAggregators()
 );
 Assert.assertEquals(
   Granularities.NONE,
   index.getMetadata().getQueryGranularity()
 );
}

代码示例来源:origin: apache/incubator-druid

Assert.assertEquals(2, index1.getColumnHolder(ColumnHolder.TIME_COLUMN_NAME).getLength());
Assert.assertEquals(Arrays.asList("dim1", "dim2"), Lists.newArrayList(index1.getAvailableDimensions()));
Assert.assertEquals(3, index1.getColumnNames().size());
Assert.assertEquals(2, merged.getColumnHolder(ColumnHolder.TIME_COLUMN_NAME).getLength());
Assert.assertEquals(Arrays.asList("dim1", "dim2"), Lists.newArrayList(merged.getAvailableDimensions()));
Assert.assertEquals(3, merged.getColumnNames().size());

代码示例来源:origin: apache/incubator-druid

Assert.assertEquals("getDimensionNames", 0, Iterables.size(emptyQueryableIndex.getAvailableDimensions()));
Assert.assertEquals("getMetricNames", 0, emptyQueryableIndex.getColumnNames().size());
Assert.assertEquals("getDataInterval", Intervals.of("2012-08-01/P3D"), emptyQueryableIndex.getDataInterval());
Assert.assertEquals(
  "getReadOnlyTimestamps",
  0,
  emptyQueryableIndex.getColumnHolder(ColumnHolder.TIME_COLUMN_NAME).getLength()
);

代码示例来源:origin: apache/incubator-druid

@Override
public int getNumRows()
{
 return index.getNumRows();
}

代码示例来源:origin: apache/incubator-druid

try {
 QueryableIndex oldIndex = segment.asQueryableIndex();
 for (String dim : oldIndex.getAvailableDimensions()) {
  dimOrder.add(dim);
  oldCapabilities.put(dim, (ColumnCapabilitiesImpl) oldIndex.getColumnHolder(dim).getCapabilities());

代码示例来源:origin: apache/incubator-druid

final BitmapFactory bitmapFactory = index.getBitmapFactoryForDimensions();
final ImmutableBitmap baseFilter;
if (filter == null) {
} else {
 final BitmapIndexSelector selector = new ColumnSelectorBitmapIndexSelector(
   index.getBitmapFactoryForDimensions(),
   VirtualColumns.EMPTY,
   index
if (!interval.contains(segment.getDataInterval())) {
 final MutableBitmap timeBitmap = bitmapFactory.makeEmptyMutableBitmap();
 final ColumnHolder timeColumnHolder = index.getColumnHolder(ColumnHolder.TIME_COLUMN_NAME);
 try (final NumericColumn timeValues = (NumericColumn) timeColumnHolder.getColumn()) {

代码示例来源:origin: apache/incubator-druid

@Override
 public void close()
 {
  // this is kinda nasty
  index.close();
 }
}

代码示例来源:origin: apache/incubator-druid

final ColumnHolder columnHolder = index.getColumnHolder("d");
    ),
    ImmutableMultiset.copyOf(
      IntStream.range(0, index.getNumRows())
           .mapToObj(rowNumber -> getRow(dictionaryColumn, rowNumber))
  for (int i = 0; i < index.getNumRows(); i++) {
   final List<String> row = getRow(dictionaryColumn, i);
   if (row.isEmpty() || row.stream().anyMatch(NullHandling::isNullOrEquivalent)) {

代码示例来源:origin: apache/incubator-druid

@Override
 public Metadata getMetadata()
 {
  return index.getMetadata();
 }
}

代码示例来源:origin: apache/incubator-druid

index.getBitmapFactoryForDimensions(),
 VirtualColumns.EMPTY,
 index
  index.getAvailableDimensions(),
  query.getDimensions()
);

代码示例来源:origin: apache/incubator-druid

index.getBitmapFactoryForDimensions(),
  virtualColumns,
  index
);
final int totalRows = index.getNumRows();

代码示例来源:origin: apache/incubator-druid

@Test
public void testPersistWithSegmentMetadata() throws IOException
{
 File outDir = Files.createTempDir();
 QueryableIndex index = null;
 try {
  outDir = Files.createTempDir();
  index = indexIO.loadIndex(indexMerger.persist(toPersist, outDir, INDEX_SPEC, null));
  Assert.assertEquals("value", index.getMetadata().get("key"));
 }
 finally {
  if (index != null) {
   index.close();
  }
  if (outDir != null) {
   FileUtils.deleteDirectory(outDir);
  }
 }
}

代码示例来源:origin: apache/incubator-druid

@Override
public Indexed<String> getAvailableDimensions()
{
 return index.getAvailableDimensions();
}

代码示例来源:origin: apache/incubator-druid

public SearchQueryDecisionHelper getDecisionHelper(QueryableIndex index)
{
 final BitmapFactory bitmapFactory = index.getBitmapFactoryForDimensions();
 if (bitmapFactory.getClass().equals(ConciseBitmapFactory.class)) {
  return ConciseBitmapDecisionHelper.instance();
 } else if (bitmapFactory.getClass().equals(RoaringBitmapFactory.class)) {
  return RoaringBitmapDecisionHelper.instance();
 } else {
  throw new IAE("Unknown bitmap type[%s]", bitmapFactory.getClass().getCanonicalName());
 }
}

代码示例来源:origin: apache/incubator-druid

@Override
public List<String> getMetricNames()
{
 final Set<String> columns = Sets.newLinkedHashSet(input.getColumnNames());
 final HashSet<String> dimensions = Sets.newHashSet(getDimensionNames());
 return ImmutableList.copyOf(Sets.difference(columns, dimensions));
}

相关文章