public class SchemaBuilder extends Object
Example usage to create the following schema:
(c: INT, a: MAP(b: VARCHAR, d: INT, e: MAP(f: VARCHAR), g: INT),
h: UNION(INT, MAP(h1: INT), LIST(BIGINT)),
i: BIGINT[], j: VARCHAR[][][])
Code:
TupleMetadata schema = new SchemaBuilder()
.add("c", MinorType.INT)
.addMap("a")
.addNullable("b", MinorType.VARCHAR)
.add("d", MinorType.INT)
.addMap("e") // or .addMapArray("e")
.add("f", MinorType.VARCHAR)
.resumeMap()
.add("g", MinorType.INT)
.resumeSchema()
.addUnion("h") // or .addList("h")
.addType(MinorType.INT)
.addMap()
.add("h1", MinorType.INT)
.resumeUnion()
.addList()
.addType(MinorType.BIGINT)
.resumeUnion()
.resumeSchema()
.addArray("i", MinorType.BIGINT)
.addRepeatedList("j")
.addDimension()
.addArray(MinorType.VARCHAR)
.resumeList()
.resumeSchema()
.buildSchema();
Constructor and Description |
---|
SchemaBuilder() |
public static MaterializedField columnSchema(String name, TypeProtos.MinorType type, TypeProtos.DataMode mode)
ColumnBuilder
for to set
other schema attributes. Name is relative to the enclosing map or tuple;
it is not the fully qualified path name.public void addColumn(ColumnMetadata column)
public SchemaBuilder add(String name, TypeProtos.MajorType type)
public SchemaBuilder add(MaterializedField col)
public SchemaBuilder add(ColumnMetadata column)
public SchemaBuilder add(String name, TypeProtos.MinorType type, TypeProtos.DataMode mode)
public SchemaBuilder add(String name, TypeProtos.MinorType type)
public SchemaBuilder add(String name, TypeProtos.MinorType type, int width)
public SchemaBuilder add(String name, TypeProtos.MinorType type, int precision, int scale)
public SchemaBuilder addNullable(String name, TypeProtos.MinorType type)
public SchemaBuilder addNullable(String name, TypeProtos.MinorType type, int width)
public SchemaBuilder addNullable(String name, TypeProtos.MinorType type, int precision, int scale)
public SchemaBuilder addArray(String name, TypeProtos.MinorType type)
public SchemaBuilder addArray(String name, TypeProtos.MinorType type, int precision, int scale)
public SchemaBuilder addDecimal(String name, TypeProtos.MinorType type, TypeProtos.DataMode mode, int precision, int scale)
public SchemaBuilder addArray(String name, TypeProtos.MinorType type, int dims)
name
- column nametype
- base data typedims
- number of dimensions, 1 or morepublic SchemaBuilder addDynamic(String name)
public SchemaBuilder addAll(TupleMetadata from)
public MapBuilder addMap(String name)
MapBuilder.resumeSchema()
,
will return the original schema builder.name
- the name of the map columnpublic MapBuilder addMapArray(String name)
public DictBuilder addDict(String name, TypeProtos.MinorType keyType)
public DictBuilder addDict(String name, TypeProtos.MajorType keyType)
public DictBuilder addDictArray(String name, TypeProtos.MinorType keyType)
public DictBuilder addDictArray(String name, TypeProtos.MajorType keyType)
public UnionBuilder addUnion(String name)
public UnionBuilder addList(String name)
public RepeatedListBuilder addRepeatedList(String name)
public TupleMetadata buildSchema()
public TupleMetadata build()
Copyright © 1970 The Apache Software Foundation. All rights reserved.