本文整理了Java中org.apache.nifi.serialization.record.DataType
类的一些代码示例,展示了DataType
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。DataType
类的具体详情如下:
包路径:org.apache.nifi.serialization.record.DataType
类名称:DataType
暂无
代码示例来源:origin: apache/nifi
public static boolean isRecord(final DataType dataType, final Object value) {
if (dataType.getFieldType() == RecordFieldType.RECORD) {
return true;
}
if (value == null) {
return false;
}
if (value instanceof Record) {
return true;
}
return false;
}
}
代码示例来源:origin: apache/nifi
@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());
}
代码示例来源:origin: apache/nifi
public static boolean isArrayTypeCompatible(final Object value, final DataType elementDataType) {
return value != null
// Either an object array or a String to be converted to byte[]
&& (value instanceof Object[]
|| (value instanceof String && RecordFieldType.BYTE.getDataType().equals(elementDataType)));
}
代码示例来源:origin: apache/nifi
throw new IllegalArgumentException("Field type is null");
RecordFieldType dataType = rawDataType.getFieldType();
if (RecordFieldType.BYTE.getDataType().equals(arrayDataType.getElementType())) {
return "BINARY";
代码示例来源:origin: apache/nifi
private static Long getLongFromTimestamp(final Object rawValue, final Schema fieldSchema, final String fieldName) {
final String format = AvroTypeUtil.determineDataType(fieldSchema).getFormat();
Timestamp t = DataTypeUtils.toTimestamp(rawValue, () -> DataTypeUtils.getDateFormat(format), fieldName);
return t.getTime();
}
代码示例来源:origin: apache/nifi
break;
case DATE:
Date d = record.getAsDate(fieldName, field.getDataType().getFormat());
if(d != null) {
org.apache.hadoop.hive.common.type.Date hiveDate = new org.apache.hadoop.hive.common.type.Date();
Timestamp ts = DataTypeUtils.toTimestamp(record.getValue(fieldName), () -> DataTypeUtils.getDateFormat(field.getDataType().getFormat()), fieldName);
if(ts != null) {
log.error("Unknown type found: " + fieldTypeInfo + "for field of type: " + field.getDataType().toString());
return null;
代码示例来源:origin: apache/nifi
recordMap.put(fieldName, convertRecordArrayToJavaArray((Object[])fieldValue, ((ArrayDataType) fieldDataType).getElementType()));
} else {
throw new IllegalTypeConversionException("Cannot convert value [" + fieldValue + "] of type " + fieldDataType.toString()
+ " to Map for field " + fieldName + " because the type is not supported");
代码示例来源:origin: apache/nifi
RecordFieldType fieldType = dataType.getFieldType();
if (RecordFieldType.INT.equals(fieldType)
|| RecordFieldType.LONG.equals(fieldType)
if (RecordFieldType.BYTE.getDataType().equals(arrayDataType.getElementType())) {
return TypeInfoFactory.getPrimitiveTypeInfo("binary");
代码示例来源:origin: apache/nifi
@Override
public String getAsString(final String fieldName) {
final Optional<DataType> dataTypeOption = schema.getDataType(fieldName);
if (dataTypeOption.isPresent()) {
return convertToString(getValue(fieldName), dataTypeOption.get().getFormat());
}
return DataTypeUtils.toString(getValue(fieldName), (Supplier<DateFormat>) null);
}
代码示例来源:origin: org.apache.nifi/nifi-record
recordMap.put(fieldName, convertRecordArrayToJavaArray((Object[])fieldValue, ((ArrayDataType) fieldDataType).getElementType()));
} else {
throw new IllegalTypeConversionException("Cannot convert value [" + fieldValue + "] of type " + fieldDataType.toString()
+ " to Map for field " + fieldName + " because the type is not supported");
代码示例来源:origin: apache/nifi
public static boolean isScalarValue(final DataType dataType, final Object value) {
final RecordFieldType fieldType = dataType.getFieldType();
final RecordFieldType chosenType;
if (fieldType == RecordFieldType.CHOICE) {
final ChoiceDataType choiceDataType = (ChoiceDataType) dataType;
final DataType chosenDataType = chooseDataType(value, choiceDataType);
if (chosenDataType == null) {
return false;
}
chosenType = chosenDataType.getFieldType();
} else {
chosenType = fieldType;
}
switch (chosenType) {
case ARRAY:
case MAP:
case RECORD:
return false;
}
return true;
}
代码示例来源:origin: apache/nifi
@Override
public int hashCode() {
return 31 + 41 * getFieldType().hashCode() + 41 * (getFormat() == null ? 0 : getFormat().hashCode());
}
代码示例来源:origin: apache/nifi
final String format = AvroTypeUtil.determineDataType(fieldSchema).getFormat();
final Date date = DataTypeUtils.toDate(rawValue, () -> DataTypeUtils.getDateFormat(format), fieldName);
final Duration duration = Duration.between(new Date(0L).toInstant(), new Date(date.getTime()).toInstant());
return (int) days;
} else if (LOGICAL_TYPE_TIME_MILLIS.equals(logicalType.getName())) {
final String format = AvroTypeUtil.determineDataType(fieldSchema).getFormat();
final Time time = DataTypeUtils.toTime(rawValue, () -> DataTypeUtils.getDateFormat(format), fieldName);
final Date date = new Date(time.getTime());
return duration.toMillis() * 1000L;
} else if (LOGICAL_TYPE_TIMESTAMP_MILLIS.equals(logicalType.getName())) {
final String format = AvroTypeUtil.determineDataType(fieldSchema).getFormat();
Timestamp t = DataTypeUtils.toTimestamp(rawValue, () -> DataTypeUtils.getDateFormat(format), fieldName);
return getLongFromTimestamp(rawValue, fieldSchema, fieldName);
代码示例来源:origin: apache/nifi
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
RecordField other = (RecordField) obj;
return dataType.equals(other.getDataType()) && fieldName.equals(other.getFieldName()) && aliases.equals(other.getAliases()) && Objects.equals(defaultValue, other.defaultValue)
&& nullable == other.nullable;
}
代码示例来源:origin: apache/nifi
protected Object convert(final DataType fieldType, final Object rawValue, final String fieldName) {
if (fieldType == null) {
return rawValue;
}
if (rawValue == null) {
return null;
}
// If string is empty then return an empty string if field type is STRING. If field type is
// anything else, we can't really convert it so return null
final boolean fieldEmpty = rawValue instanceof String && ((String) rawValue).isEmpty();
if (fieldEmpty && fieldType.getFieldType() != RecordFieldType.STRING) {
return null;
}
return DataTypeUtils.convertType(rawValue, fieldType, fieldName);
}
代码示例来源:origin: apache/nifi
@Override
public String toString() {
if (getFormat() == null) {
return getFieldType().toString();
} else {
return getFieldType().toString() + ":" + getFormat();
}
}
}
代码示例来源:origin: org.apache.nifi/nifi-avro-record-utils
private static Long getLongFromTimestamp(final Object rawValue, final Schema fieldSchema, final String fieldName) {
final String format = AvroTypeUtil.determineDataType(fieldSchema).getFormat();
Timestamp t = DataTypeUtils.toTimestamp(rawValue, () -> DataTypeUtils.getDateFormat(format), fieldName);
return t.getTime();
}
代码示例来源:origin: apache/nifi
@Override
public boolean equals(final Object obj) {
if (obj == this) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof MapDataType)) {
return false;
}
final MapDataType other = (MapDataType) obj;
return getValueType().equals(other.getValueType()) && Objects.equals(valueType, other.valueType);
}
代码示例来源:origin: apache/nifi
private Object parseStringForType(String data, String fieldName, DataType dataType) {
switch (dataType.getFieldType()) {
case BOOLEAN:
case BYTE:
case CHAR:
case DOUBLE:
case FLOAT:
case INT:
case LONG:
case SHORT:
case STRING:
case DATE:
case TIME:
case TIMESTAMP: {
return DataTypeUtils.convertType(data, dataType, LAZY_DATE_FORMAT, LAZY_TIME_FORMAT, LAZY_TIMESTAMP_FORMAT, fieldName);
}
}
return null;
}
代码示例来源:origin: apache/nifi
private String getFormat(final RecordField field) {
final DataType dataType = field.getDataType();
switch (dataType.getFieldType()) {
case DATE:
return dateFormat;
case TIME:
return timeFormat;
case TIMESTAMP:
return timestampFormat;
}
return dataType.getFormat();
}
内容来源于网络,如有侵权,请联系作者删除!