public static Map<String, IndexSerdeTypeHelper> getTypeHelperMap(DimensionsSpec dimensionsSpec) { Map<String, IndexSerdeTypeHelper> typeHelperMap = new HashMap<>(); for (DimensionSchema dimensionSchema : dimensionsSpec.getDimensions()) { IndexSerdeTypeHelper typeHelper; switch (dimensionSchema.getValueType()) { case STRING: typeHelper = STRING_HELPER; break; case LONG: typeHelper = LONG_HELPER; break; case FLOAT: typeHelper = FLOAT_HELPER; break; case DOUBLE: typeHelper = DOUBLE_HELPER; break; default: throw new IAE("Invalid type: [%s]", dimensionSchema.getValueType()); } typeHelperMap.put(dimensionSchema.getName(), typeHelper); } return typeHelperMap; }
@Override public String toString() { return "DimensionSchema{" + "name='" + name + '\'' + ", valueType=" + getValueType() + ", typeName=" + getTypeName() + ", multiValueHandling=" + multiValueHandling + ", createBitmapIndex=" + createBitmapIndex + '}'; } }
ValueType type = TYPE_MAP.get(dimSchema.getValueType()); String dimName = dimSchema.getName(); ColumnCapabilitiesImpl capabilities = makeCapabilitiesFromValueType(type); capabilities.setHasBitmapIndexes(dimSchema.hasBitmapIndex()); if (dimSchema.getTypeName().equals(DimensionSchema.SPATIAL_TYPE_NAME)) { capabilities.setHasSpatialIndexes(true); } else { dimName, capabilities, dimSchema.getMultiValueHandling() ); addNewDimension(dimName, capabilities, handler);
@Override public String apply(DimensionSchema input) { return input.getName(); } }
private static ColumnHolder createColumn(DimensionSchema dimensionSchema) { return new TestColumn(IncrementalIndex.TYPE_MAP.get(dimensionSchema.getValueType())); }
ValueType type = TYPE_MAP.get(dimSchema.getValueType()); String dimName = dimSchema.getName(); ColumnCapabilitiesImpl capabilities = makeCapabilitiesFromValueType(type); capabilities.setHasBitmapIndexes(dimSchema.hasBitmapIndex()); if (dimSchema.getTypeName().equals(DimensionSchema.SPATIAL_TYPE_NAME)) { capabilities.setHasSpatialIndexes(true); } else { dimName, capabilities, dimSchema.getMultiValueHandling() ); addNewDimension(dimName, capabilities, handler);
@JsonCreator public DimensionsSpec( @JsonProperty("dimensions") List<DimensionSchema> dimensions, @JsonProperty("dimensionExclusions") List<String> dimensionExclusions, @Deprecated @JsonProperty("spatialDimensions") List<SpatialDimensionSchema> spatialDimensions ) { this.dimensions = dimensions == null ? new ArrayList<>() : Lists.newArrayList(dimensions); this.dimensionExclusions = (dimensionExclusions == null) ? new HashSet<>() : Sets.newHashSet(dimensionExclusions); List<SpatialDimensionSchema> spatialDims = (spatialDimensions == null) ? new ArrayList<>() : spatialDimensions; verify(spatialDims); // Map for easy dimension name-based schema lookup this.dimensionSchemaMap = new HashMap<>(); for (DimensionSchema schema : this.dimensions) { dimensionSchemaMap.put(schema.getName(), schema); } for (SpatialDimensionSchema spatialSchema : spatialDims) { DimensionSchema newSchema = DimensionsSpec.convertSpatialSchema(spatialSchema); this.dimensions.add(newSchema); dimensionSchemaMap.put(newSchema.getName(), newSchema); } }
final String dimension = schema.getName(); final ColumnAnalysis columnAnalysis = columns.get(dimension); final boolean isString = schema.getValueType().name().equals(ValueType.STRING.name()); Assert.assertEquals(dimension, schema.getValueType().name(), columnAnalysis.getType()); Assert.assertEquals(dimension, 0, columnAnalysis.getSize()); if (isString) {
private static List<String> findDimensions(int startIndex, Interval segmentInterval) { final List<String> dimensions = new ArrayList<>(); dimensions.add(TIMESTAMP_COLUMN); for (int i = 0; i < 6; i++) { int postfix = i + startIndex; postfix = postfix >= 6 ? postfix - 6 : postfix; dimensions.add("string_dim_" + postfix); dimensions.add("long_dim_" + postfix); dimensions.add("float_dim_" + postfix); dimensions.add("double_dim_" + postfix); } dimensions.add(MIXED_TYPE_COLUMN_MAP.get(segmentInterval).getName()); return dimensions; }
@Override public int hashCode() { return Objects.hash(name, multiValueHandling, createBitmapIndex, getTypeName(), getValueType()); }
final String dimension = schema.getName(); final ColumnAnalysis columnAnalysis = columns.get(dimension); if ("null_column".equals(dimension)) { Assert.assertNull(columnAnalysis); } else { final boolean isString = schema.getValueType().name().equals(ValueType.STRING.name()); Assert.assertEquals(dimension, schema.getValueType().name(), columnAnalysis.getType()); Assert.assertEquals(dimension, 0, columnAnalysis.getSize());
dimensions.add(schema.getName());
@Override public boolean equals(final Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } final DimensionSchema that = (DimensionSchema) o; return createBitmapIndex == that.createBitmapIndex && Objects.equals(name, that.name) && Objects.equals(getTypeName(), that.getTypeName()) && Objects.equals(getValueType(), that.getValueType()) && multiValueHandling == that.multiValueHandling; }
public static Map<String, IndexSerdeTypeHelper> getTypeHelperMap(DimensionsSpec dimensionsSpec) { Map<String, IndexSerdeTypeHelper> typeHelperMap = Maps.newHashMap(); for (DimensionSchema dimensionSchema : dimensionsSpec.getDimensions()) { IndexSerdeTypeHelper typeHelper; switch (dimensionSchema.getValueType()) { case STRING: typeHelper = STRING_HELPER; break; case LONG: typeHelper = LONG_HELPER; break; case FLOAT: typeHelper = FLOAT_HELPER; break; case DOUBLE: typeHelper = DOUBLE_HELPER; break; default: throw new IAE("Invalid type: [%s]", dimensionSchema.getValueType()); } typeHelperMap.put(dimensionSchema.getName(), typeHelper); } return typeHelperMap; }
Set<String> dimensions = new HashSet<>(); for (DimensionSchema dim : dimensionSchema) { dimensions.add(dim.getName());
@Override public String toString() { return "DimensionSchema{" + "name='" + name + '\'' + ", valueType=" + getValueType() + ", typeName=" + getTypeName() + ", multiValueHandling=" + multiValueHandling + ", createBitmapIndex=" + createBitmapIndex + '}'; } }
Set<String> dimensions = new HashSet<>(); for (DimensionSchema dim : dimensionSchema) { dimensions.add(dim.getName());
@Override public int hashCode() { return Objects.hash(name, multiValueHandling, createBitmapIndex, getTypeName(), getValueType()); }
@Override public String apply(DimensionSchema input) { return input.getName(); } }
@Override public boolean equals(final Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } final DimensionSchema that = (DimensionSchema) o; return createBitmapIndex == that.createBitmapIndex && Objects.equals(name, that.name) && Objects.equals(getTypeName(), that.getTypeName()) && Objects.equals(getValueType(), that.getValueType()) && multiValueHandling == that.multiValueHandling; }