case BINARY:
if(enableDictionary) {
return new PlainBinaryDictionaryValuesWriter(dictionaryPageSizeThreshold, initialSizePerCol);
} else {
if (writerVersion == WriterVersion.PARQUET_1_0) {
return new PlainValuesWriter(initialSizePerCol);
} else if (writerVersion == WriterVersion.PARQUET_2_0) {
return new DeltaByteArrayWriter(initialSizePerCol);
}
}
break;
case INT32:
if(enableDictionary) {
return new PlainIntegerDictionaryValuesWriter(dictionaryPageSizeThreshold, initialSizePerCol);
} else {
if(writerVersion == WriterVersion.PARQUET_1_0) {
return new PlainValuesWriter(initialSizePerCol);
} else if(writerVersion == WriterVersion.PARQUET_2_0) {
return new DeltaBinaryPackingValuesWriter(initialSizePerCol);
}
}
break;
case INT64:
if(enableDictionary) {
return new PlainLongDictionaryValuesWriter(dictionaryPageSizeThreshold, initialSizePerCol);
} else {
return new PlainValuesWriter(initialSizePerCol);
}
case DOUBLE:
if(enableDictionary) {
return new PlainDoubleDictionaryValuesWriter(dictionaryPageSizeThreshold, initialSizePerCol);
} else {
return new PlainValuesWriter(initialSizePerCol);
}
case FLOAT:
if(enableDictionary) {
return new PlainFloatDictionaryValuesWriter(dictionaryPageSizeThreshold, initialSizePerCol);
} else {
return new PlainValuesWriter(initialSizePerCol);
}
case FIXED_LEN_BYTE_ARRAY:
return new FixedLenByteArrayPlainValuesWriter(path.getTypeLength(), initialSizePerCol);
default:
return new PlainValuesWriter(initialSizePerCol);
}
return null;
}