private Block getIntegerKeyBlockTemplate(List<DwrfSequenceEncoding> sequenceEncodings) { Type keyType; switch (keyOrcType) { case BYTE: keyType = TinyintType.TINYINT; break; case SHORT: keyType = SmallintType.SMALLINT; break; case INT: keyType = IntegerType.INTEGER; break; case LONG: keyType = BigintType.BIGINT; break; default: throw new IllegalArgumentException("Unsupported flat map key type: " + keyOrcType); } BlockBuilder blockBuilder = keyType.createBlockBuilder(null, sequenceEncodings.size()); for (DwrfSequenceEncoding sequenceEncoding : sequenceEncodings) { keyType.writeLong(blockBuilder, sequenceEncoding.getKey().getIntKey()); } return blockBuilder.build(); }
public ColumnEncoding getColumnEncoding(int sequence) { if (sequence == 0) { return this; } checkState( additionalSequenceEncodings.isPresent(), "Got non-zero sequence: %d, but there are no additional sequence encodings: %s", sequence, this); return additionalSequenceEncodings.get().get(sequence - 1).getValueEncoding(); }
private static DwrfSequenceEncoding toSequenceEncoding(OrcType type, DwrfProto.ColumnEncoding columnEncoding) { return new DwrfSequenceEncoding( columnEncoding.getKey(), new ColumnEncoding( toColumnEncodingKind(type.getOrcTypeKind(), columnEncoding.getKind()), columnEncoding.getDictionarySize())); }
private static DwrfSequenceEncoding toSequenceEncoding(OrcType type, DwrfProto.ColumnEncoding columnEncoding) { return new DwrfSequenceEncoding( columnEncoding.getKey(), new ColumnEncoding( toColumnEncodingKind(type.getOrcTypeKind(), columnEncoding.getKind()), columnEncoding.getDictionarySize())); }
private Block getSliceKeysBlockTemplate(List<DwrfSequenceEncoding> sequenceEncodings) { int bytes = 0; for (DwrfSequenceEncoding sequenceEncoding : sequenceEncodings) { bytes += sequenceEncoding.getKey().getBytesKey().size(); } VariableWidthBlockBuilder builder = new VariableWidthBlockBuilder(null, sequenceEncodings.size(), bytes); for (DwrfSequenceEncoding sequenceEncoding : sequenceEncodings) { Slice key = Slices.wrappedBuffer(sequenceEncoding.getKey().getBytesKey().toByteArray()); builder.writeBytes(key, 0, key.length()); builder.closeEntry(); } return builder.build(); }
public ColumnEncoding getColumnEncoding(int sequence) { if (sequence == 0) { return this; } checkState( additionalSequenceEncodings.isPresent(), "Got non-zero sequence: %d, but there are no additional sequence encodings: %s", sequence, this); return additionalSequenceEncodings.get().get(sequence - 1).getValueEncoding(); }
private Block getIntegerKeyBlockTemplate(List<DwrfSequenceEncoding> sequenceEncodings) { Type keyType; switch (keyOrcType) { case BYTE: keyType = TinyintType.TINYINT; break; case SHORT: keyType = SmallintType.SMALLINT; break; case INT: keyType = IntegerType.INTEGER; break; case LONG: keyType = BigintType.BIGINT; break; default: throw new IllegalArgumentException("Unsupported flat map key type: " + keyOrcType); } BlockBuilder blockBuilder = keyType.createBlockBuilder(null, sequenceEncodings.size()); for (DwrfSequenceEncoding sequenceEncoding : sequenceEncodings) { keyType.writeLong(blockBuilder, sequenceEncoding.getKey().getIntKey()); } return blockBuilder.build(); }
private Block getSliceKeysBlockTemplate(List<DwrfSequenceEncoding> sequenceEncodings) { int bytes = 0; for (DwrfSequenceEncoding sequenceEncoding : sequenceEncodings) { bytes += sequenceEncoding.getKey().getBytesKey().size(); } VariableWidthBlockBuilder builder = new VariableWidthBlockBuilder(null, sequenceEncodings.size(), bytes); for (DwrfSequenceEncoding sequenceEncoding : sequenceEncodings) { Slice key = Slices.wrappedBuffer(sequenceEncoding.getKey().getBytesKey().toByteArray()); builder.writeBytes(key, 0, key.length()); builder.closeEntry(); } return builder.build(); }