
eclectic.orc.template.methodWrite.stg Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of eclectic-orc Show documentation
Show all versions of eclectic-orc Show documentation
Supports writing Java objects to ORC files.
The newest version!
methodWrite(schemaColumn, sclass) ::= <<
protected void write(Object inputRow) {
datum = ()inputRow;
delegateInstance = new (datum);
}
>>
writeStruct(schemaColumn) ::= <<
>>
writeColumn(schemaColumn) ::= <<
{
vector = ()vectorizedRowBatch.cols[];
}
>>
delegateAwareWrite(schemaColumn, method, methods, var) ::= <<
>>
nullSafeChainAccess(schemaColumn, method, methods, var) ::= <<
= .();
if ( == null) {
setNull(vector);
} else {
}
<(schemaColumn.template.templateNameColumnSetter)(schemaColumn, "vector", schemaColumn.template.tempVariable, "vectorizedRowBatch.size")>
if ( == null) {
setNull(vector);
} else {
<(schemaColumn.template.templateNameColumnSetter)(schemaColumn, "vector", enumConvertedValue(schemaColumn, schemaColumn.template.tempVariable), "vectorizedRowBatch.size")>
}
>>
enumConvertedValue(schemaColumn, value) ::= <<
.()
>>
convertedValue(schemaColumn, value) ::= << new ().convert(()) >>
columnBinary(schemaColumn, var, val, loc) ::= <<
// TODO
>>
columnBoolean(schemaColumn, var, val, loc) ::= <<
.vector[] = . ? 1 : 0;
.vector[] = ? 1 : 0;
>>
columnByte(schemaColumn, var, val, loc) ::= <<
>>
columnChar(schemaColumn, var, val, loc) ::= <<
byte[] charArray = new byte[1];
charArray[0] = (byte).;
charArray[0] = (byte);
.setVal(, charArray);
>>
columnDate(schemaColumn, var, val, loc) ::= <<
.vector[] = .toEpochDay();
.vector[] = java.time.Instant.ofEpochMilli(.getTime()).atZone(java.time.ZoneId.systemDefault()).toLocalDate().toEpochDay();
>>
columnDecimal(schemaColumn, var, val, loc) ::= <<
.set(, org.apache.hadoop.hive.common.type.HiveDecimal.create(, false));
>>
columnDouble(schemaColumn, var, val, loc) ::= <<
.vector[] = .;
.vector[] = ;
>>
columnFloat(schemaColumn, var, val, loc) ::= <<
>>
columnInt(schemaColumn, var, val, loc) ::= <<
>>
columnList(schemaColumn, var, val, loc) ::= <<
java.util.List list = ;
java.util.List list = new java.util.ArrayList();
java.util.List list = new java.util.ArrayList();
java.util.Iterator iterator = .iterator();
while (iterator.hasNext()) {
list.add(iterator.next());
}
.offsets[] = .childCount;
.lengths[] = list.size();
.childCount += list.size();
for (int i = 0; i \< list.size(); i++) {
int location = ((int).offsets[]) + i;
childVector = ().child;
listElement = ();
<(schemaColumn.complexType.listChild.template.templateNameColumnSetter)(schemaColumn.complexType.listChild, "childVector", "listElement", "location")>
listElement = ()list.get(i);
<(schemaColumn.complexType.listChild.template.templateNameColumnSetter)(schemaColumn.complexType.listChild, "childVector", enumConvertedValue(schemaColumn.complexType.listChild, "listElement"), "location")>
}
>>
columnLong(schemaColumn, var, val, loc) ::= <<
.vector[] = .;
.vector[] = ;
>>
columnShort(schemaColumn, var, val, loc) ::= <<
>>
columnString(schemaColumn, var, val, loc) ::= <<
.setVal(, .getBytes());
>>
columnTimestamp(schemaColumn, var, val, loc) ::= <<
.set(, java.sql.Timestamp.from(.toInstant()));
.set(, new java.sql.Timestamp(.getTime()));
.set(, );
>>
columnVarchar(schemaColumn, var, val, loc) ::= <<
>>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy