use of org.apache.parquet.schema.Type.Repetition in project parquet-mr by apache.
the class TestTypeBuildersWithLogicalTypes method testGroupTypeConstruction.
@Test
public void testGroupTypeConstruction() {
PrimitiveType f1 = Types.required(BINARY).as(stringType()).named("f1");
PrimitiveType f2 = Types.required(INT32).named("f2");
PrimitiveType f3 = Types.optional(INT32).named("f3");
String name = "group";
for (Repetition repetition : Repetition.values()) {
GroupType expected = new GroupType(repetition, name, f1, new GroupType(repetition, "g1", f2, f3));
GroupType built = Types.buildGroup(repetition).addField(f1).group(repetition).addFields(f2, f3).named("g1").named(name);
Assert.assertEquals(expected, built);
switch(repetition) {
case REQUIRED:
built = Types.requiredGroup().addField(f1).requiredGroup().addFields(f2, f3).named("g1").named(name);
break;
case OPTIONAL:
built = Types.optionalGroup().addField(f1).optionalGroup().addFields(f2, f3).named("g1").named(name);
break;
case REPEATED:
built = Types.repeatedGroup().addField(f1).repeatedGroup().addFields(f2, f3).named("g1").named(name);
break;
}
Assert.assertEquals(expected, built);
}
}
use of org.apache.parquet.schema.Type.Repetition in project parquet-mr by apache.
the class TestTypeBuilders method testPrimitiveTypeConstruction.
@Test
public void testPrimitiveTypeConstruction() {
PrimitiveTypeName[] types = new PrimitiveTypeName[] { BOOLEAN, INT32, INT64, INT96, FLOAT, DOUBLE, BINARY };
for (PrimitiveTypeName type : types) {
String name = type.toString() + "_";
for (Type.Repetition repetition : Type.Repetition.values()) {
PrimitiveType expected = new PrimitiveType(repetition, type, name);
PrimitiveType built = Types.primitive(type, repetition).named(name);
Assert.assertEquals(expected, built);
switch(repetition) {
case REQUIRED:
built = Types.required(type).named(name);
break;
case OPTIONAL:
built = Types.optional(type).named(name);
break;
case REPEATED:
built = Types.repeated(type).named(name);
break;
}
Assert.assertEquals(expected, built);
}
}
}
use of org.apache.parquet.schema.Type.Repetition in project parquet-mr by apache.
the class TestTypeBuilders method testGroupTypeConstruction.
@Test
public void testGroupTypeConstruction() {
PrimitiveType f1 = Types.required(BINARY).as(UTF8).named("f1");
PrimitiveType f2 = Types.required(INT32).named("f2");
PrimitiveType f3 = Types.optional(INT32).named("f3");
String name = "group";
for (Type.Repetition repetition : Type.Repetition.values()) {
GroupType expected = new GroupType(repetition, name, f1, new GroupType(repetition, "g1", f2, f3));
GroupType built = Types.buildGroup(repetition).addField(f1).group(repetition).addFields(f2, f3).named("g1").named(name);
Assert.assertEquals(expected, built);
switch(repetition) {
case REQUIRED:
built = Types.requiredGroup().addField(f1).requiredGroup().addFields(f2, f3).named("g1").named(name);
break;
case OPTIONAL:
built = Types.optionalGroup().addField(f1).optionalGroup().addFields(f2, f3).named("g1").named(name);
break;
case REPEATED:
built = Types.repeatedGroup().addField(f1).repeatedGroup().addFields(f2, f3).named("g1").named(name);
break;
}
Assert.assertEquals(expected, built);
}
}
use of org.apache.parquet.schema.Type.Repetition in project parquet-mr by apache.
the class TestTypeBuilders method testFixedTypeConstruction.
@Test
public void testFixedTypeConstruction() {
String name = "fixed_";
int len = 5;
for (Type.Repetition repetition : Type.Repetition.values()) {
PrimitiveType expected = new PrimitiveType(repetition, FIXED_LEN_BYTE_ARRAY, len, name);
PrimitiveType built = Types.primitive(FIXED_LEN_BYTE_ARRAY, repetition).length(len).named(name);
Assert.assertEquals(expected, built);
switch(repetition) {
case REQUIRED:
built = Types.required(FIXED_LEN_BYTE_ARRAY).length(len).named(name);
break;
case OPTIONAL:
built = Types.optional(FIXED_LEN_BYTE_ARRAY).length(len).named(name);
break;
case REPEATED:
built = Types.repeated(FIXED_LEN_BYTE_ARRAY).length(len).named(name);
break;
}
Assert.assertEquals(expected, built);
}
}
Aggregations