Search in sources :

Example 1 with DataField

use of org.apache.carbondata.processing.newflow.DataField in project carbondata by apache.

the class DataConverterProcessorWithBucketingStepImpl method initialize.

@Override
public void initialize() throws IOException {
    child.initialize();
    converters = new ArrayList<>();
    badRecordLogger = createBadRecordLogger();
    RowConverter converter = new RowConverterImpl(child.getOutput(), configuration, badRecordLogger);
    configuration.setCardinalityFinder(converter);
    converters.add(converter);
    converter.initialize();
    List<Integer> indexes = new ArrayList<>();
    List<ColumnSchema> columnSchemas = new ArrayList<>();
    DataField[] inputDataFields = getOutput();
    BucketingInfo bucketingInfo = configuration.getBucketingInfo();
    for (int i = 0; i < inputDataFields.length; i++) {
        for (int j = 0; j < bucketingInfo.getListOfColumns().size(); j++) {
            if (inputDataFields[i].getColumn().getColName().equals(bucketingInfo.getListOfColumns().get(j).getColumnName())) {
                indexes.add(i);
                columnSchemas.add(inputDataFields[i].getColumn().getColumnSchema());
                break;
            }
        }
    }
    partitioner = new HashPartitionerImpl(indexes, columnSchemas, bucketingInfo.getNumberOfBuckets());
}
Also used : RowConverterImpl(org.apache.carbondata.processing.newflow.converter.impl.RowConverterImpl) HashPartitionerImpl(org.apache.carbondata.processing.newflow.partition.impl.HashPartitionerImpl) ArrayList(java.util.ArrayList) ColumnSchema(org.apache.carbondata.core.metadata.schema.table.column.ColumnSchema) RowConverter(org.apache.carbondata.processing.newflow.converter.RowConverter) BucketingInfo(org.apache.carbondata.core.metadata.schema.BucketingInfo) DataField(org.apache.carbondata.processing.newflow.DataField)

Example 2 with DataField

use of org.apache.carbondata.processing.newflow.DataField in project carbondata by apache.

the class CarbonDataProcessorUtil method getComplexTypeString.

private static String getComplexTypeString(DataField[] dataFields) {
    StringBuilder dimString = new StringBuilder();
    for (int i = 0; i < dataFields.length; i++) {
        DataField dataField = dataFields[i];
        if (dataField.getColumn().getDataType().equals(DataType.ARRAY) || dataField.getColumn().getDataType().equals(DataType.STRUCT)) {
            addAllComplexTypeChildren((CarbonDimension) dataField.getColumn(), dimString, "");
            dimString.append(CarbonCommonConstants.SEMICOLON_SPC_CHARACTER);
        }
    }
    return dimString.toString();
}
Also used : DataField(org.apache.carbondata.processing.newflow.DataField)

Aggregations

DataField (org.apache.carbondata.processing.newflow.DataField)2 ArrayList (java.util.ArrayList)1 BucketingInfo (org.apache.carbondata.core.metadata.schema.BucketingInfo)1 ColumnSchema (org.apache.carbondata.core.metadata.schema.table.column.ColumnSchema)1 RowConverter (org.apache.carbondata.processing.newflow.converter.RowConverter)1 RowConverterImpl (org.apache.carbondata.processing.newflow.converter.impl.RowConverterImpl)1 HashPartitionerImpl (org.apache.carbondata.processing.newflow.partition.impl.HashPartitionerImpl)1