use of org.apache.parquet.thrift.test.Phone in project parquet-mr by apache.
the class ParquetScroogeSchemeTest method testNestedReadingInScrooge.
@Test
public void testNestedReadingInScrooge() throws Exception {
Map<String, org.apache.parquet.thrift.test.Phone> phoneMap = new HashMap<String, Phone>();
phoneMap.put("key1", new org.apache.parquet.thrift.test.Phone("111", "222"));
org.apache.parquet.thrift.test.TestPersonWithAllInformation toWrite = new org.apache.parquet.thrift.test.TestPersonWithAllInformation(new org.apache.parquet.thrift.test.Name("first"), new Address("my_street", "my_zip"), phoneMap);
toWrite.setInfo("my_info");
String expected = "TestPersonWithAllInformation(Name(first,None),None,Address(my_street,my_zip),None,Some(my_info),Map(key1 -> Phone(111,222)),None,None)\n";
verifyScroogeRead(thriftRecords(toWrite), TestPersonWithAllInformation.class, expected, "**");
String expectedProjected = "TestPersonWithAllInformation(Name(first,None),None,Address(my_street,my_zip),None,Some(my_info),Map(),None,None)\n";
verifyScroogeRead(thriftRecords(toWrite), TestPersonWithAllInformation.class, expectedProjected, "address/*;info;name/first_name");
}
use of org.apache.parquet.thrift.test.Phone in project parquet-mr by apache.
the class TestProtocolReadToWrite method TestExtraFieldWhenFieldIndexIsNotStartFromZero.
@Test
public void TestExtraFieldWhenFieldIndexIsNotStartFromZero() throws Exception {
CountingErrorHandler countingHandler = new CountingErrorHandler() {
@Override
public void handleFieldIgnored(TField field) {
assertEquals(3, field.id);
fieldIgnoredCount++;
}
};
BufferedProtocolReadToWrite structForRead = new BufferedProtocolReadToWrite(ThriftSchemaConverter.toStructType(StructWithIndexStartsFrom4.class), countingHandler);
// Data has an extra field of type struct
final ByteArrayOutputStream in = new ByteArrayOutputStream();
StructWithExtraField dataWithNewExtraField = new StructWithExtraField(new Phone("111", "222"), new Phone("333", "444"));
dataWithNewExtraField.write(protocol(in));
// read using the schema that doesn't have the extra field
final ByteArrayOutputStream out = new ByteArrayOutputStream();
structForRead.readOne(protocol(new ByteArrayInputStream(in.toByteArray())), protocol(out));
assertEquals(1, countingHandler.recordCountOfMissingFields);
assertEquals(1, countingHandler.fieldIgnoredCount);
}
Aggregations