Search in sources :

Example 1 with ParquetWriteProtocol

use of org.apache.parquet.thrift.ParquetWriteProtocol in project parquet-mr by apache.

the class ThriftBytesWriteSupport method prepareForWrite.

@Override
public void prepareForWrite(RecordConsumer recordConsumer) {
    final MessageColumnIO columnIO = new ColumnIOFactory().getColumnIO(schema);
    this.parquetWriteProtocol = new ParquetWriteProtocol(recordConsumer, columnIO, thriftStruct);
    thriftWriteSupport.prepareForWrite(recordConsumer);
}
Also used : ParquetWriteProtocol(org.apache.parquet.thrift.ParquetWriteProtocol) MessageColumnIO(org.apache.parquet.io.MessageColumnIO) ColumnIOFactory(org.apache.parquet.io.ColumnIOFactory)

Example 2 with ParquetWriteProtocol

use of org.apache.parquet.thrift.ParquetWriteProtocol in project parquet-mr by apache.

the class TestParquetWriteProtocol method validateThrift.

private void validateThrift(String[] expectations, TBase<?, ?> a) throws TException {
    final ThriftSchemaConverter thriftSchemaConverter = new ThriftSchemaConverter();
    // System.out.println(a);
    final Class<TBase<?, ?>> class1 = (Class<TBase<?, ?>>) a.getClass();
    final MessageType schema = thriftSchemaConverter.convert(class1);
    LOG.info("{}", schema);
    final StructType structType = thriftSchemaConverter.toStructType(class1);
    ExpectationValidatingRecordConsumer recordConsumer = new ExpectationValidatingRecordConsumer(new ArrayDeque<String>(Arrays.asList(expectations)));
    final MessageColumnIO columnIO = new ColumnIOFactory().getColumnIO(schema);
    ParquetWriteProtocol p = new ParquetWriteProtocol(new RecordConsumerLoggingWrapper(recordConsumer), columnIO, structType);
    a.write(p);
}
Also used : StructType(org.apache.parquet.thrift.struct.ThriftType.StructType) RecordConsumerLoggingWrapper(org.apache.parquet.io.RecordConsumerLoggingWrapper) ParquetWriteProtocol(org.apache.parquet.thrift.ParquetWriteProtocol) ExpectationValidatingRecordConsumer(org.apache.parquet.io.ExpectationValidatingRecordConsumer) MessageColumnIO(org.apache.parquet.io.MessageColumnIO) ColumnIOFactory(org.apache.parquet.io.ColumnIOFactory) ThriftSchemaConverter(org.apache.parquet.thrift.ThriftSchemaConverter) TBase(org.apache.thrift.TBase) MessageType(org.apache.parquet.schema.MessageType)

Example 3 with ParquetWriteProtocol

use of org.apache.parquet.thrift.ParquetWriteProtocol in project parquet-mr by apache.

the class AbstractThriftWriteSupport method prepareForWrite.

@Override
public void prepareForWrite(RecordConsumer recordConsumer) {
    final MessageColumnIO columnIO = new ColumnIOFactory().getColumnIO(schema);
    this.parquetWriteProtocol = new ParquetWriteProtocol(recordConsumer, columnIO, thriftStruct);
}
Also used : ParquetWriteProtocol(org.apache.parquet.thrift.ParquetWriteProtocol) MessageColumnIO(org.apache.parquet.io.MessageColumnIO) ColumnIOFactory(org.apache.parquet.io.ColumnIOFactory)

Aggregations

ColumnIOFactory (org.apache.parquet.io.ColumnIOFactory)3 MessageColumnIO (org.apache.parquet.io.MessageColumnIO)3 ParquetWriteProtocol (org.apache.parquet.thrift.ParquetWriteProtocol)3 ExpectationValidatingRecordConsumer (org.apache.parquet.io.ExpectationValidatingRecordConsumer)1 RecordConsumerLoggingWrapper (org.apache.parquet.io.RecordConsumerLoggingWrapper)1 MessageType (org.apache.parquet.schema.MessageType)1 ThriftSchemaConverter (org.apache.parquet.thrift.ThriftSchemaConverter)1 StructType (org.apache.parquet.thrift.struct.ThriftType.StructType)1 TBase (org.apache.thrift.TBase)1