本文整理汇总了Java中org.apache.orc.TypeDescription.createStruct方法的典型用法代码示例。如果您正苦于以下问题:Java TypeDescription.createStruct方法的具体用法?Java TypeDescription.createStruct怎么用?Java TypeDescription.createStruct使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.orc.TypeDescription
的用法示例。
在下文中一共展示了TypeDescription.createStruct方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: convertSchema
import org.apache.orc.TypeDescription; //导入方法依赖的package包/类
public static TypeDescription convertSchema(Schema schema) {
TypeDescription description = TypeDescription.createStruct();
for (Column eachColumn : schema.getRootColumns()) {
description.addField(eachColumn.getQualifiedName(),
convertTypeInfo(eachColumn.getTypeDesc()));
}
return description;
}
示例2: convertTypeInfo
import org.apache.orc.TypeDescription; //导入方法依赖的package包/类
public static TypeDescription convertTypeInfo(TypeDesc desc) {
switch (desc.getDataType().getType()) {
case BOOLEAN:
return TypeDescription.createBoolean();
case BIT:
return TypeDescription.createByte();
case INT2:
return TypeDescription.createShort();
case INT4:
return TypeDescription.createInt();
case INT8:
return TypeDescription.createLong();
case FLOAT4:
return TypeDescription.createFloat();
case FLOAT8:
return TypeDescription.createDouble();
case TEXT:
return TypeDescription.createString();
case DATE:
return TypeDescription.createDate();
case TIMESTAMP:
return TypeDescription.createTimestamp();
case BLOB:
return TypeDescription.createBinary();
case CHAR:
return TypeDescription.createChar()
.withMaxLength(desc.getDataType().getLength());
case RECORD: {
TypeDescription result = TypeDescription.createStruct();
for (Column eachColumn : desc.getNestedSchema().getRootColumns()) {
result.addField(eachColumn.getQualifiedName(),
convertTypeInfo(eachColumn.getTypeDesc()));
}
return result;
}
default:
throw new TajoRuntimeException(new UnsupportedDataTypeException(desc.getDataType().getType().name()));
}
}
示例3: flushData
import org.apache.orc.TypeDescription; //导入方法依赖的package包/类
@Override
boolean flushData(BufferSegment segment)
{
System.out.println("Orc file flush out!!!");
String topic = segment.getFiberPartitions().get(0).getTopic();
int indexOfDot = topic.indexOf(".");
String dbName = topic.substring(0, indexOfDot);
int length = topic.length();
String tblName = topic.substring(indexOfDot + 1, length);
long beginTime = segment.getTimestamps()[0];
long endTime = segment.getTimestamps()[0];
for (long timeStamp : segment.getTimestamps()) {
if (timeStamp < beginTime) {
beginTime = timeStamp;
}
if (timeStamp > endTime) {
endTime = timeStamp;
}
}
String path = FileNameGenerator.generator(dbName, tblName, beginTime, endTime);
MetaProto.StringListType columnsNameList = metaClient.listColumns(dbName, tblName);
MetaProto.StringListType columnDataTypeList = metaClient.listColumnsDataType(dbName, tblName);
int columnNameCount = columnsNameList.getStrCount();
int columnDataTypeCount = columnDataTypeList.getStrCount();
System.out.println("columnNameCount: " + columnNameCount);
System.out.println("columnDataTypeCount: " + columnDataTypeCount);
TypeDescription schema = TypeDescription.createStruct();
if (columnNameCount == columnDataTypeCount) {
for (int i = 0; i < columnNameCount; i++) {
switch (columnDataTypeList.getStr(i)) {
case "bigint":
System.out.println("bigint");
schema.addField(columnsNameList.getStr(i), TypeDescription.createLong());
break;
case "int":
System.out.println("int");
schema.addField(columnsNameList.getStr(i), TypeDescription.createInt());
break;
case "boolean":
System.out.println("boolean");
schema.addField(columnsNameList.getStr(i), TypeDescription.createBoolean());
break;
case "float4":
System.out.println("float4");
schema.addField(columnsNameList.getStr(i), TypeDescription.createFloat());
break;
case "float8":
System.out.println("float8");
schema.addField(columnsNameList.getStr(i), TypeDescription.createDouble());
break;
case "timestamptz":
System.out.println("timestamptz");
schema.addField(columnsNameList.getStr(i), TypeDescription.createTimestamp());
break;
case "real":
System.out.println("real");
schema.addField(columnsNameList.getStr(i), TypeDescription.createFloat());
break;
default:
System.out.println("default");
schema.addField(columnsNameList.getStr(i), TypeDescription.createString());
break;
}
}
}
return flush(segment, path, schema);
}
示例4: buildTypeDescription
import org.apache.orc.TypeDescription; //导入方法依赖的package包/类
public TypeDescription buildTypeDescription( SchemaDescription schemaDescription ) {
TypeDescription typeDescription = TypeDescription.createStruct();
schemaDescription.forEach( f -> addStructField( typeDescription, f ) );
return typeDescription;
}