Search in sources :

Example 1 with EventBasedRecordWriter

use of org.apache.drill.exec.store.EventBasedRecordWriter in project drill by apache.

the class WriterRecordBatch method setupNewSchema.

protected void setupNewSchema() throws IOException {
    try {
        // update the schema in RecordWriter
        stats.startSetup();
        recordWriter.updateSchema(incoming);
        // Create two vectors for:
        //   1. Fragment unique id.
        //   2. Summary: currently contains number of records written.
        final MaterializedField fragmentIdField = MaterializedField.create("Fragment", Types.required(MinorType.VARCHAR));
        final MaterializedField summaryField = MaterializedField.create("Number of records written", Types.required(MinorType.BIGINT));
        container.addOrGet(fragmentIdField);
        container.addOrGet(summaryField);
        container.buildSchema(BatchSchema.SelectionVectorMode.NONE);
    } finally {
        stats.stopSetup();
    }
    eventBasedRecordWriter = new EventBasedRecordWriter(incoming, recordWriter);
    container.buildSchema(SelectionVectorMode.NONE);
    schema = container.getSchema();
}
Also used : EventBasedRecordWriter(org.apache.drill.exec.store.EventBasedRecordWriter) MaterializedField(org.apache.drill.exec.record.MaterializedField)

Aggregations

MaterializedField (org.apache.drill.exec.record.MaterializedField)1 EventBasedRecordWriter (org.apache.drill.exec.store.EventBasedRecordWriter)1