/** * @return the list of encoder used in dimension */ public List<Encoding> getEncoder() { return columnSchema.getEncodingList(); }
public boolean hasEncoding(Encoding encoding) { return columnSchema.getEncodingList().contains(encoding); }
/** * @param useInvertedIndex the useInvertedIndex to set */ public void setUseInvertedIndex(boolean useInvertedIndex) { if (useInvertedIndex) { if (!hasEncoding(Encoding.INVERTED_INDEX)) { this.getEncodingList().add(Encoding.INVERTED_INDEX); } } else { if (hasEncoding(Encoding.INVERTED_INDEX)) { this.getEncodingList().remove(Encoding.INVERTED_INDEX); } } }
/** * @param dictionaryColumnCardinality * @param wrapperColumnSchemaList * @return It returns formatted cardinality by adding -1 value for NoDictionary columns */ public static int[] getFormattedCardinality(int[] dictionaryColumnCardinality, List<ColumnSchema> wrapperColumnSchemaList) { List<Integer> cardinality = new ArrayList<>(); int counter = 0; for (int i = 0; i < wrapperColumnSchemaList.size(); i++) { if (CarbonUtil.hasEncoding(wrapperColumnSchemaList.get(i).getEncodingList(), Encoding.DICTIONARY)) { cardinality.add(dictionaryColumnCardinality[counter]); counter++; } else if (!wrapperColumnSchemaList.get(i).isDimensionColumn()) { continue; } else { cardinality.add(-1); } } return ArrayUtils.toPrimitive(cardinality.toArray(new Integer[cardinality.size()])); }
public static List<org.apache.carbondata.format.ColumnSchema> getColumnSchemaListAndCardinality( List<Integer> cardinality, int[] dictionaryColumnCardinality, List<ColumnSchema> wrapperColumnSchemaList) { List<org.apache.carbondata.format.ColumnSchema> columnSchemaList = new ArrayList<org.apache.carbondata.format.ColumnSchema>( CarbonCommonConstants.DEFAULT_COLLECTION_SIZE); SchemaConverter schemaConverter = new ThriftWrapperSchemaConverterImpl(); int counter = 0; for (int i = 0; i < wrapperColumnSchemaList.size(); i++) { columnSchemaList .add(schemaConverter.fromWrapperToExternalColumnSchema(wrapperColumnSchemaList.get(i))); if (CarbonUtil.hasEncoding(wrapperColumnSchemaList.get(i).getEncodingList(), org.apache.carbondata.core.metadata.encoder.Encoding.DICTIONARY)) { cardinality.add(dictionaryColumnCardinality[counter]); counter++; } else if (!wrapperColumnSchemaList.get(i).isDimensionColumn()) { continue; } else { cardinality.add(-1); } } return columnSchemaList; }
if (CarbonUtil.hasEncoding(columnSchema.getEncodingList(), Encoding.DICTIONARY) && !isComplexDimensionStarted && columnSchema.getNumberOfChild() == 0) { cardinalityIndexForNormalDimensionColumn.add(tableOrdinal);
this.numberOfSortColumns++; if (!columnSchema.getEncodingList().contains(Encoding.DICTIONARY)) { CarbonDimension dimension = new CarbonDimension(columnSchema, dimensionOrdinal++, } else if (columnSchema.getEncodingList().contains(Encoding.DICTIONARY)) { CarbonDimension dimension = new CarbonDimension(columnSchema, dimensionOrdinal++,
List<org.apache.carbondata.format.Encoding> encoders = new ArrayList<org.apache.carbondata.format.Encoding>(); for (Encoding encoder : wrapperColumnSchema.getEncodingList()) { encoders.add(fromWrapperToExternalEncoding(encoder));