@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)); }
@Override public Iterable<String> getAvailableMetrics() { HashSet<String> columnNames = Sets.newHashSet(index.getColumnNames()); return Sets.difference(columnNames, Sets.newHashSet(index.getAvailableDimensions())); }
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); }
); List<String> expectedColumnNames = Arrays.asList("A", "d1"); List<String> actualColumnNames = Lists.newArrayList(index.getColumnNames()); Collections.sort(expectedColumnNames); Collections.sort(actualColumnNames);
Assert.assertEquals(3, index.getColumnNames().size()); assertDimCompression(index, indexSpec.getDimensionCompression());
Assert.assertEquals("getMetricNames", 0, emptyQueryableIndex.getColumnNames().size()); Assert.assertEquals("getDataInterval", Intervals.of("2012-08-01/P3D"), emptyQueryableIndex.getDataInterval()); Assert.assertEquals(
Assert.assertEquals(3, index.getColumnNames().size()); Assert.assertEquals(3, index.getColumnNames().size()); Assert.assertEquals(3, index.getColumnNames().size());
@Test public void testPersistWithSegmentMetadata() throws Exception { final long timestamp = System.currentTimeMillis(); IncrementalIndex toPersist = IncrementalIndexTest.createIndex(null); IncrementalIndexTest.populateIndex(timestamp, toPersist); Map<String, Object> metadataElems = ImmutableMap.of("key", "value"); toPersist.getMetadata().putAll(metadataElems); 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.assertEquals( new Metadata( metadataElems, IncrementalIndexTest.getDefaultCombiningAggregatorFactories(), null, Granularities.NONE, Boolean.TRUE ), index.getMetadata() ); }
Lists.newArrayList(index.getAvailableDimensions()) ); Assert.assertEquals(3, index.getColumnNames().size());
Assert.assertEquals(3, index1.getColumnNames().size()); Assert.assertEquals(3, merged.getColumnNames().size());
@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() ); }
Assert.assertEquals(3, index1.getColumnNames().size()); Assert.assertEquals(3, index2.getColumnNames().size()); Assert.assertEquals(3, merged.getColumnNames().size()); assertDimCompression(index2, indexSpec.getDimensionCompression()); assertDimCompression(index1, indexSpec.getDimensionCompression());
Assert.assertEquals(4, index1.getColumnNames().size()); Assert.assertEquals(4, converted.getColumnNames().size());
Assert.assertEquals(3, index1.getColumnNames().size()); Assert.assertEquals(3, merged.getColumnNames().size());
Assert.assertEquals(3, index1.getColumnNames().size()); Assert.assertEquals(3, merged.getColumnNames().size());
Assert.assertEquals(4, index1.getColumnNames().size()); Assert.assertEquals(4, converted.getColumnNames().size());
@Override public Iterable<String> getAvailableMetrics() { HashSet<String> columnNames = Sets.newHashSet(index.getColumnNames()); return Sets.difference(columnNames, Sets.newHashSet(index.getAvailableDimensions())); }
@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)); }
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); }