@Override public boolean equals(final Object obj) { if (obj == this) { return true; } if (obj == null) { return false; } if (!(obj instanceof ChoiceDataType)) { return false; } final ChoiceDataType other = (ChoiceDataType) obj; return getFieldType().equals(other.getFieldType()) && Objects.equals(possibleSubTypes, other.possibleSubTypes); }
@Override public boolean equals(final Object obj) { if (obj == this) { return true; } if (obj == null) { return false; } if (!(obj instanceof RecordDataType)) { return false; } final RecordDataType other = (RecordDataType) obj; return getFieldType().equals(other.getFieldType()) && Objects.equals(childSchema, other.childSchema); }
@Override public boolean equals(final Object obj) { if (obj == this) { return true; } if (obj == null) { return false; } if (!(obj instanceof ArrayDataType)) { return false; } final ArrayDataType other = (ArrayDataType) obj; return getFieldType().equals(other.getFieldType()) && Objects.equals(elementType, other.elementType); }
public static TypeInfo getPrimitiveOrcTypeFromPrimitiveFieldType(DataType rawDataType) throws IllegalArgumentException { if (rawDataType == null) { throw new IllegalArgumentException("Avro type is null"); } RecordFieldType fieldType = rawDataType.getFieldType(); if (RecordFieldType.INT.equals(fieldType)) { return TypeInfoFactory.getPrimitiveTypeInfo("int"); } if (RecordFieldType.LONG.equals(fieldType)) { return TypeInfoFactory.getPrimitiveTypeInfo("bigint"); } if (RecordFieldType.BOOLEAN.equals(fieldType)) { return TypeInfoFactory.getPrimitiveTypeInfo("boolean"); } if (RecordFieldType.DOUBLE.equals(fieldType)) { return TypeInfoFactory.getPrimitiveTypeInfo("double"); } if (RecordFieldType.FLOAT.equals(fieldType)) { return TypeInfoFactory.getPrimitiveTypeInfo("float"); } if (RecordFieldType.STRING.equals(fieldType)) { return TypeInfoFactory.getPrimitiveTypeInfo("string"); } throw new IllegalArgumentException("Field type " + fieldType.name() + " is not a primitive type"); }
if (RecordFieldType.INT.equals(dataType)) { return "INT"; if (RecordFieldType.LONG.equals(dataType)) { return "BIGINT"; if (RecordFieldType.BOOLEAN.equals(dataType)) { return "BOOLEAN"; if (RecordFieldType.DOUBLE.equals(dataType)) { return "DOUBLE"; if (RecordFieldType.FLOAT.equals(dataType)) { return "FLOAT"; if (RecordFieldType.STRING.equals(dataType)) { return "STRING"; if (RecordFieldType.DATE.equals(dataType)) { return "DATE"; if (RecordFieldType.TIME.equals(dataType)) { return "INT"; if (RecordFieldType.TIMESTAMP.equals(dataType)) { return "TIMESTAMP"; if (RecordFieldType.ARRAY.equals(dataType)) { ArrayDataType arrayDataType = (ArrayDataType) rawDataType;
@Override public boolean equals(final Object obj) { if (obj == this) { return true; } if (obj == null) { return false; } if (!(obj instanceof DataType)) { return false; } final DataType other = (DataType) obj; return getFieldType().equals(other.getFieldType()) && Objects.equals(getFormat(), other.getFormat()); }
if (RecordFieldType.INT.equals(fieldType) || RecordFieldType.LONG.equals(fieldType) || RecordFieldType.BOOLEAN.equals(fieldType) || RecordFieldType.DOUBLE.equals(fieldType) || RecordFieldType.FLOAT.equals(fieldType) || RecordFieldType.STRING.equals(fieldType)) { return getPrimitiveOrcTypeFromPrimitiveFieldType(dataType); if (RecordFieldType.DATE.equals(fieldType)) { return TypeInfoFactory.dateTypeInfo; if (RecordFieldType.TIME.equals(fieldType)) { return TypeInfoFactory.intTypeInfo; if (RecordFieldType.TIMESTAMP.equals(fieldType)) { return TypeInfoFactory.timestampTypeInfo; if (RecordFieldType.ARRAY.equals(fieldType)) { ArrayDataType arrayDataType = (ArrayDataType) dataType; if (RecordFieldType.BYTE.getDataType().equals(arrayDataType.getElementType())) { if (RecordFieldType.CHOICE.equals(fieldType)) { ChoiceDataType choiceDataType = (ChoiceDataType) dataType; List<DataType> unionFieldSchemas = choiceDataType.getPossibleSubTypes(); if (RecordFieldType.MAP.equals(fieldType)) { MapDataType mapDataType = (MapDataType) dataType; return TypeInfoFactory.getMapTypeInfo(
/** * Writes each SolrDocument to a record. */ public static RecordSet solrDocumentsToRecordSet(final List<SolrDocument> docs, final RecordSchema schema) { final List<Record> lr = new ArrayList<Record>(); for (SolrDocument doc : docs) { final Map<String, Object> recordValues = new LinkedHashMap<>(); for (RecordField field : schema.getFields()){ final Object fieldValue = doc.getFieldValue(field.getFieldName()); if (fieldValue != null) { if (field.getDataType().getFieldType().equals(RecordFieldType.ARRAY)){ recordValues.put(field.getFieldName(), ((List<Object>) fieldValue).toArray()); } else { recordValues.put(field.getFieldName(), fieldValue); } } } lr.add(new MapRecord(schema, recordValues)); } return new ListRecordSet(schema, lr); }
final ArrayDataType arrayDataType = (ArrayDataType) dataType; final DataType elementDataType = arrayDataType.getElementType(); if (RecordFieldType.BYTE.equals(elementDataType.getFieldType())) { schema = Schema.create(Type.BYTES); } else {
@Override public boolean equals(final Object obj) { if (obj == this) { return true; } if (obj == null) { return false; } if (!(obj instanceof ArrayDataType)) { return false; } final ArrayDataType other = (ArrayDataType) obj; return getFieldType().equals(other.getFieldType()) && Objects.equals(elementType, other.elementType); }
@Override public boolean equals(final Object obj) { if (obj == this) { return true; } if (obj == null) { return false; } if (!(obj instanceof RecordDataType)) { return false; } final RecordDataType other = (RecordDataType) obj; return getFieldType().equals(other.getFieldType()) && Objects.equals(childSchema, other.childSchema); }
@Override public boolean equals(final Object obj) { if (obj == this) { return true; } if (obj == null) { return false; } if (!(obj instanceof ChoiceDataType)) { return false; } final ChoiceDataType other = (ChoiceDataType) obj; return getFieldType().equals(other.getFieldType()) && Objects.equals(possibleSubTypes, other.possibleSubTypes); }
@Override public boolean equals(final Object obj) { if (obj == this) { return true; } if (obj == null) { return false; } if (!(obj instanceof DataType)) { return false; } final DataType other = (DataType) obj; return getFieldType().equals(other.getFieldType()) && Objects.equals(getFormat(), other.getFormat()); }
/** * Writes each SolrDocument to a record. */ public static RecordSet solrDocumentsToRecordSet(final List<SolrDocument> docs, final RecordSchema schema) { final List<Record> lr = new ArrayList<Record>(); for (SolrDocument doc : docs) { final Map<String, Object> recordValues = new LinkedHashMap<>(); for (RecordField field : schema.getFields()){ final Object fieldValue = doc.getFieldValue(field.getFieldName()); if (fieldValue != null) { if (field.getDataType().getFieldType().equals(RecordFieldType.ARRAY)){ recordValues.put(field.getFieldName(), ((List<Object>) fieldValue).toArray()); } else { recordValues.put(field.getFieldName(), fieldValue); } } } lr.add(new MapRecord(schema, recordValues)); } return new ListRecordSet(schema, lr); }
final ArrayDataType arrayDataType = (ArrayDataType) dataType; final DataType elementDataType = arrayDataType.getElementType(); if (RecordFieldType.BYTE.equals(elementDataType.getFieldType())) { schema = Schema.create(Type.BYTES); } else {