createConvertTreeReader
public static TreeReaderFactory.TreeReader createConvertTreeReader(TypeDescription readerType,
SchemaEvolution evolution,
boolean[] included,
boolean skipCorrupt)
throws IOException
(Rules from Hive's PrimitiveObjectInspectorUtils conversion)
To BOOLEAN, BYTE, SHORT, INT, LONG:
Convert from (BOOLEAN, BYTE, SHORT, INT, LONG) with down cast if necessary.
Convert from (FLOAT, DOUBLE) using type cast to long and down cast if necessary.
Convert from DECIMAL from longValue and down cast if necessary.
Convert from STRING using LazyLong.parseLong and down cast if necessary.
Convert from (CHAR, VARCHAR) from Integer.parseLong and down cast if necessary.
Convert from TIMESTAMP using timestamp getSeconds and down cast if necessary.
AnyIntegerFromAnyIntegerTreeReader (written)
AnyIntegerFromFloatTreeReader (written)
AnyIntegerFromDoubleTreeReader (written)
AnyIntegerFromDecimalTreeReader (written)
AnyIntegerFromStringGroupTreeReader (written)
AnyIntegerFromTimestampTreeReader (written)
To FLOAT/DOUBLE:
Convert from (BOOLEAN, BYTE, SHORT, INT, LONG) using cast
Convert from FLOAT using cast
Convert from DECIMAL using getDouble
Convert from (STRING, CHAR, VARCHAR) using Double.parseDouble
Convert from TIMESTAMP using timestamp getDouble
FloatFromAnyIntegerTreeReader (existing)
FloatFromDoubleTreeReader (written)
FloatFromDecimalTreeReader (written)
FloatFromStringGroupTreeReader (written)
DoubleFromAnyIntegerTreeReader (existing)
DoubleFromFloatTreeReader (existing)
DoubleFromDecimalTreeReader (written)
DoubleFromStringGroupTreeReader (written)
To DECIMAL:
Convert from (BOOLEAN, BYTE, SHORT, INT, LONG) using to HiveDecimal.create()
Convert from (FLOAT, DOUBLE) using to HiveDecimal.create(string value)
Convert from (STRING, CHAR, VARCHAR) using HiveDecimal.create(string value)
Convert from TIMESTAMP using HiveDecimal.create(string value of timestamp getDouble)
DecimalFromAnyIntegerTreeReader (existing)
DecimalFromFloatTreeReader (existing)
DecimalFromDoubleTreeReader (existing)
DecimalFromStringGroupTreeReader (written)
To STRING, CHAR, VARCHAR:
Convert from (BOOLEAN, BYTE, SHORT, INT, LONG) using to string conversion
Convert from (FLOAT, DOUBLE) using to string conversion
Convert from DECIMAL using HiveDecimal.toString
Convert from CHAR by stripping pads
Convert from VARCHAR with value
Convert from TIMESTAMP using Timestamp.toString
Convert from DATE using Date.toString
Convert from BINARY using Text.decode
StringGroupFromAnyIntegerTreeReader (written)
StringGroupFromFloatTreeReader (written)
StringGroupFromDoubleTreeReader (written)
StringGroupFromDecimalTreeReader (written)
String from Char/Varchar conversion
Char from String/Varchar conversion
Varchar from String/Char conversion
StringGroupFromTimestampTreeReader (written)
StringGroupFromDateTreeReader (written)
StringGroupFromBinaryTreeReader *****
To TIMESTAMP:
Convert from (BOOLEAN, BYTE, SHORT, INT, LONG) using TimestampWritable.longToTimestamp
Convert from (FLOAT, DOUBLE) using TimestampWritable.doubleToTimestamp
Convert from DECIMAL using TimestampWritable.decimalToTimestamp
Convert from (STRING, CHAR, VARCHAR) using string conversion
Or, from DATE
TimestampFromAnyIntegerTreeReader (written)
TimestampFromFloatTreeReader (written)
TimestampFromDoubleTreeReader (written)
TimestampFromDecimalTreeeReader (written)
TimestampFromStringGroupTreeReader (written)
TimestampFromDateTreeReader
To DATE:
Convert from (STRING, CHAR, VARCHAR) using string conversion.
Or, from TIMESTAMP.
DateFromStringGroupTreeReader (written)
DateFromTimestampTreeReader (written)
To BINARY:
Convert from (STRING, CHAR, VARCHAR) using getBinaryFromText
BinaryFromStringGroupTreeReader (written)
(Notes from StructConverter)
To STRUCT:
Input must be data type STRUCT
minFields = Math.min(numSourceFields, numTargetFields)
Convert those fields
Extra targetFields --> NULL
(Notes from ListConverter)
To LIST:
Input must be data type LIST
Convert elements
(Notes from MapConverter)
To MAP:
Input must be data type MAP
Convert keys and values
(Notes from UnionConverter)
To UNION:
Input must be data type UNION
Convert value for tag
- Parameters:
readerType
-
evolution
-
included
-
skipCorrupt
-
- Returns:
- Throws:
IOException