@JsonCreator public static StringDimensionSchema create(String name) { return new StringDimensionSchema(name); }
@BeforeClass public static void setupClass() MIXED_TYPE_COLUMN_MAP.put(Intervals.of("2017-01-01/2017-02-01"), new StringDimensionSchema(MIXED_TYPE_COLUMN)); MIXED_TYPE_COLUMN_MAP.put(Intervals.of("2017-02-01/2017-03-01"), new StringDimensionSchema(MIXED_TYPE_COLUMN)); MIXED_TYPE_COLUMN_MAP.put(Intervals.of("2017-03-01/2017-04-01"), new StringDimensionSchema(MIXED_TYPE_COLUMN)); MIXED_TYPE_COLUMN_MAP.put(Intervals.of("2017-04-01/2017-05-01"), new StringDimensionSchema(MIXED_TYPE_COLUMN)); MIXED_TYPE_COLUMN_MAP.put(Intervals.of("2017-05-01/2017-06-01"), new DoubleDimensionSchema(MIXED_TYPE_COLUMN)); MIXED_TYPE_COLUMN_MAP.put(Intervals.of("2017-06-01/2017-07-01"), new DoubleDimensionSchema(MIXED_TYPE_COLUMN)); DIMENSIONS.put(TIMESTAMP_COLUMN, new LongDimensionSchema(TIMESTAMP_COLUMN)); for (int i = 0; i < SEGMENT_INTERVALS.size(); i++) { final StringDimensionSchema schema = new StringDimensionSchema( "string_dim_" + i, null, null ); DIMENSIONS.put(schema.getName(), schema);
public static List<DimensionSchema> getDefaultSchemas( final List<String> dimNames, final DimensionSchema.MultiValueHandling multiValueHandling ) { return dimNames.stream() .map(input -> new StringDimensionSchema(input, multiValueHandling, true)) .collect(Collectors.toList()); }
private List<DimensionSchema> makeDimensionSchemas( final List<String> dimensions, final MultiValueHandling multiValueHandling ) { return dimensions.stream() .map( dimension -> new StringDimensionSchema( dimension, multiValueHandling, useBitmapIndexes ) ) .collect(Collectors.toList()); } }
return new DoubleDimensionSchema(name); case STRING: return new StringDimensionSchema(name, multiValueHandling, hasBitmapIndexes); default: throw new ISE("Unsupported value type[%s] for dimension[%s]", type, name);
@Test public void testStringDimensionSchemaSerde() throws Exception { final StringDimensionSchema schema1 = new StringDimensionSchema("foo"); Assert.assertEquals( schema1, OBJECT_MAPPER.readValue(OBJECT_MAPPER.writeValueAsString(schema1), DimensionSchema.class) ); final StringDimensionSchema schema2 = new StringDimensionSchema( "foo", DimensionSchema.MultiValueHandling.ARRAY, false ); Assert.assertEquals( schema2, OBJECT_MAPPER.readValue(OBJECT_MAPPER.writeValueAsString(schema2), DimensionSchema.class) ); } }
@Test public void testSerdeWithDimensions() throws IOException { final Builder builder = new Builder( DATA_SOURCE, objectMapper, AuthTestUtils.TEST_AUTHORIZER_MAPPER, null, rowIngestionMetersFactory ); final CompactionTask task = builder .segments(SEGMENTS) .dimensionsSpec( new DimensionsSpec( ImmutableList.of( new StringDimensionSchema("dim1"), new StringDimensionSchema("dim2"), new StringDimensionSchema("dim3") ) ) ) .tuningConfig(createTuningConfig()) .context(ImmutableMap.of("testKey", "testVal")) .build(); final byte[] bytes = objectMapper.writeValueAsBytes(task); final CompactionTask fromJson = objectMapper.readValue(bytes, CompactionTask.class); assertEquals(task, fromJson); }
private static List<DimensionsSpec> getExpectedDimensionsSpecForAutoGeneration(boolean keepSegmentGranularity) { if (keepSegmentGranularity) { return ImmutableList.of( new DimensionsSpec(getDimensionSchema(new StringDimensionSchema("string_to_double"))), new DimensionsSpec(getDimensionSchema(new StringDimensionSchema("string_to_double"))), new DimensionsSpec(getDimensionSchema(new StringDimensionSchema("string_to_double"))), new DimensionsSpec(getDimensionSchema(new StringDimensionSchema("string_to_double"))), new DimensionsSpec(getDimensionSchema(new DoubleDimensionSchema("string_to_double"))), new DimensionsSpec(getDimensionSchema(new DoubleDimensionSchema("string_to_double"))) ); } else { return Collections.singletonList( new DimensionsSpec(getDimensionSchema(new DoubleDimensionSchema("string_to_double"))) ); } }
private static class TestFirehoseFactory implements FirehoseFactory<InputRowParser> { public TestFirehoseFactory() { } @Override @SuppressWarnings("unchecked") public Firehose connect(InputRowParser parser, File temporaryDirectory) throws ParseException { return new TestFirehose(parser); } }
switch (columnSchema.getType()) { case STRING: dimensions.add(new StringDimensionSchema(columnSchema.getName())); break; case LONG:
Lists.newArrayList( new LongDimensionSchema("timestamp"), new StringDimensionSchema("string_dim_0"), new StringDimensionSchema("string_dim_1"), new StringDimensionSchema("string_dim_2"), new StringDimensionSchema("string_dim_3"), new StringDimensionSchema("string_dim_4"), new LongDimensionSchema("long_dim_0"), new LongDimensionSchema("long_dim_1"),
new StringDimensionSchema("AAA"), new StringDimensionSchema("BBB"), new FloatDimensionSchema("C++"), new NewSpatialDimensionSchema("DDT", null),
new StringDimensionSchema("string_dim_4"), new LongDimensionSchema("long_dim_4"), new FloatDimensionSchema("float_dim_4"), new DoubleDimensionSchema("double_dim_4"), new StringDimensionSchema("string_dim_0"), new LongDimensionSchema("long_dim_0"), new FloatDimensionSchema("float_dim_0"),
private IncrementalIndex makeIncIndex() { return new IncrementalIndex.Builder() .setIndexSchema( new IncrementalIndexSchema.Builder() .withDimensionsSpec(new DimensionsSpec( Arrays.asList( new StringDimensionSchema("dimA"), new StringDimensionSchema("dimB"), new LongDimensionSchema("metA"), new LongDimensionSchema("metB") ), null, null )) .build() ) .setReportParseExceptions(false) .setConcurrentEventAdd(true) .setMaxRowCount(1000) .buildOnheap(); }
new StringDimensionSchema("string1", DimensionSchema.MultiValueHandling.ARRAY, true), new StringDimensionSchema("string2", DimensionSchema.MultiValueHandling.SORTED_ARRAY, true), new StringDimensionSchema("string3", DimensionSchema.MultiValueHandling.SORTED_SET, true) ), null, null
new LongDimensionSchema("dimA"), new FloatDimensionSchema("dimB"), new StringDimensionSchema("dimC", MultiValueHandling.SORTED_ARRAY, useBitmapIndexes)
private IncrementalIndex makeIncIndex(boolean withRollup) { return new IncrementalIndex.Builder() .setIndexSchema( new IncrementalIndexSchema.Builder() .withDimensionsSpec(new DimensionsSpec( Arrays.asList( new StringDimensionSchema("dimA"), new LongDimensionSchema("metA") ), null, null )) .withRollup(withRollup) .build() ) .setReportParseExceptions(false) .setConcurrentEventAdd(true) .setMaxRowCount(1000) .buildOnheap(); }
private IncrementalIndex makeIncIndex(boolean withRollup) { return new IncrementalIndex.Builder() .setIndexSchema( new IncrementalIndexSchema.Builder() .withDimensionsSpec(new DimensionsSpec( Arrays.asList( new StringDimensionSchema("dimA"), new LongDimensionSchema("metA") ), null, null )) .withRollup(withRollup) .build() ) .setReportParseExceptions(false) .setConcurrentEventAdd(true) .setMaxRowCount(1000) .buildOnheap(); }
private IncrementalIndex makeIncIndex(boolean withRollup) { return new IncrementalIndex.Builder() .setIndexSchema( new IncrementalIndexSchema.Builder() .withDimensionsSpec(new DimensionsSpec( Arrays.asList( new StringDimensionSchema("dimA"), new LongDimensionSchema("metA") ), null, null )) .withRollup(withRollup) .build() ) .setReportParseExceptions(false) .setConcurrentEventAdd(true) .setMaxRowCount(1000) .buildOnheap(); }
dimensionSchemas.add(new StringDimensionSchema(dimension.getOutputName()));