/** * {@inheritDoc} */ @Override public void writeToStringBuilder(StringBuilder sb, String indent) { sb.append(indent) .append(getRepetition().name().toLowerCase()) .append(" ") .append(primitive.name().toLowerCase()); if (primitive == PrimitiveTypeName.FIXED_LEN_BYTE_ARRAY) { sb.append("(" + length + ")"); } sb.append(" ").append(getName()); if (getOriginalType() != null) { sb.append(" (").append(getOriginalType()); DecimalMetadata meta = getDecimalMetadata(); if (meta != null) { sb.append("(") .append(meta.getPrecision()) .append(",") .append(meta.getScale()) .append(")"); } sb.append(")"); } if (getId() != null) { sb.append(" = ").append(getId()); } }
@Override public int hashCode() { return codec.hashCode() ^ path.hashCode() ^ type.hashCode() ^ Arrays.hashCode(encodings.toArray()); }
private static PrimitiveTypeName asPrimitive(String t, Tokenizer st) { try { return PrimitiveTypeName.valueOf(t.toUpperCase()); } catch (IllegalArgumentException e) { throw new IllegalArgumentException("expected one of " + Arrays.toString(PrimitiveTypeName.values()) +" got " + t + " at " + st.getLocationString(), e); } }
private void bind(PrimitiveTypeName type) { binding = type.convert(new PrimitiveTypeNameConverter<Binding, RuntimeException>() { @Override public Binding convertFLOAT(PrimitiveTypeName primitiveTypeName) throws RuntimeException {
.convert(new PrimitiveType.PrimitiveTypeNameConverter<String, RuntimeException>() { @Override public String convertBOOLEAN(PrimitiveType.PrimitiveTypeName primitiveTypeName) { .equals(PrimitiveType.PrimitiveTypeName.BINARY) || !keyType.getOriginalType().equals(OriginalType.UTF8)) { throw new UnsupportedOperationException(
parquetType.asPrimitiveType().getPrimitiveTypeName(); final OriginalType originalType = parquetType.getOriginalType(); return parquetPrimitiveTypeName.convert( new PrimitiveTypeNameConverter<Schema.FieldSchema, FrontendException>() { @Override
break; default: throw new UnsupportedOperationException(type.asPrimitiveType().getPrimitiveTypeName().name());
fieldType.asPrimitiveType().getPrimitiveTypeName(); final OriginalType originalType = fieldType.getOriginalType(); return parquetPrimitiveTypeName.convert( new PrimitiveType.PrimitiveTypeNameConverter<Column, RuntimeException>() { @Override
currentState.primitive.addValueToPrimitiveConverter(currentState.primitiveConverter, columnReader);
public static PrimitiveConverter getNewConverter(final PrimitiveType type, final int index, final ConverterParent parent) { if (type.isPrimitive() && (type.asPrimitiveType().getPrimitiveTypeName().equals(PrimitiveType.PrimitiveTypeName.INT96))) { //TODO- cleanup once parquet support Timestamp type annotation. return ETypeConverter.ETIMESTAMP_CONVERTER.getConverter(type, index, parent); } if (OriginalType.DECIMAL == type.getOriginalType()) { return EDECIMAL_CONVERTER.getConverter(type, index, parent); } else if (OriginalType.UTF8 == type.getOriginalType()) { return ESTRING_CONVERTER.getConverter(type, index, parent); } else if (OriginalType.DATE == type.getOriginalType()) { return EDATE_CONVERTER.getConverter(type, index, parent); } Class<?> javaType = type.getPrimitiveTypeName().javaType; for (final ETypeConverter eConverter : values()) { if (eConverter.getType() == javaType) { return eConverter.getConverter(type, index, parent); } } throw new IllegalArgumentException("Converter not found ... for type : " + type); }
/** * {@inheritDoc} */ @Override public void writeToStringBuilder(StringBuilder sb, String indent) { sb.append(indent) .append(getRepetition().name().toLowerCase()) .append(" ") .append(primitive.name().toLowerCase()) .append(" ") .append(getName()); if (getOriginalType() != null) { sb.append(" (").append(getOriginalType()).append(")"); } }
/** * {@inheritDoc} */ @Override protected boolean typeEquals(Type other) { if (other.isPrimitive()) { PrimitiveType primitiveType = other.asPrimitiveType(); return getRepetition() == primitiveType.getRepetition() && getPrimitiveTypeName().equals(primitiveType.getPrimitiveTypeName()) && getName().equals(primitiveType.getName()); } else { return false; } }
@Override protected Type union(Type toMerge, boolean strict) { if (!toMerge.isPrimitive() || (strict && !primitive.equals(toMerge.asPrimitiveType().getPrimitiveTypeName()))) { throw new IncompatibleSchemaModificationException("can not merge type " + toMerge + " into " + this); } Types.PrimitiveBuilder<PrimitiveType> builder = Types.primitive( primitive, toMerge.getRepetition()); if (PrimitiveTypeName.FIXED_LEN_BYTE_ARRAY == primitive) { builder.length(length); } return builder.named(getName()); } }
/** * {@inheritDoc} */ @Override protected int typeHashCode() { int hash = 17; hash += 31 * getRepetition().hashCode(); hash += 31 * getPrimitiveTypeName().hashCode(); hash += 31 * getName().hashCode(); return hash; }
@Override public int hashCode() { int result = primitiveType != null ? primitiveType.hashCode() : 0; result = 31 * result + (originalType != null ? originalType.hashCode() : 0); return result; } }
/** * {@inheritDoc} */ @Override public int hashCode() { int hash = super.hashCode(); hash = hash * 31 + primitive.hashCode(); hash = hash * 31 + length; if (decimalMeta != null) { hash = hash * 31 + decimalMeta.hashCode(); } return hash; }
private static PrimitiveTypeName asPrimitive(String t, Tokenizer st) { try { return PrimitiveTypeName.valueOf(t.toUpperCase()); } catch (IllegalArgumentException e) { throw new IllegalArgumentException("expected one of " + Arrays.toString(PrimitiveTypeName.values()) +" got " + t + " at " + st.getLocationString(), e); } }
@Override protected void readValue(BlockBuilder blockBuilder, Type type) { if (definitionLevel == columnDescriptor.getMaxDefinitionLevel()) { long decimalValue; // When decimals are encoded with primitive types Parquet stores unscaled values if (columnDescriptor.getType().equals(INT32)) { decimalValue = valuesReader.readInteger(); } else if (columnDescriptor.getType().equals(INT64)) { decimalValue = valuesReader.readLong(); } else { decimalValue = getShortDecimalValue(valuesReader.readBytes().getBytes()); } type.writeLong(blockBuilder, decimalValue); } else if (isValueNull()) { blockBuilder.appendNull(); } }
@Override protected void skipValue() { if (definitionLevel == columnDescriptor.getMaxDefinitionLevel()) { if (columnDescriptor.getType().equals(INT32)) { valuesReader.readInteger(); } else if (columnDescriptor.getType().equals(INT64)) { valuesReader.readLong(); } else { valuesReader.readBytes(); } } } }