Sha256: 3865b53ae4a562bde1a26548e53a5a52b60fdaf621e3f3cbf796ec32dfb9c1f4

Contents?: true

Size: 1.82 KB

Versions: 1

Compression:

Stored size: 1.82 KB

Contents

package org.embulk.output.orc;

import org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector;
import org.apache.hadoop.hive.ql.exec.vector.DoubleColumnVector;
import org.apache.hadoop.hive.ql.exec.vector.LongColumnVector;
import org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch;
import org.embulk.spi.Column;
import org.embulk.spi.ColumnVisitor;
import org.embulk.spi.Page;
import org.embulk.spi.PageReader;

public class OrcColumnVisitor implements ColumnVisitor
{
    private PageReader reader;
    VectorizedRowBatch batch;
    Integer finalI;

    public OrcColumnVisitor(PageReader pageReader, VectorizedRowBatch rowBatch, Page page, Integer i)
    {
        int size = page.getStringReferences().size();

        this.reader = pageReader;
        this.batch = rowBatch;
        this.finalI = i;
    }

    @Override
    public void booleanColumn(Column column)
    {
        if (reader.isNull(column)) {
            ((LongColumnVector) batch.cols[column.getIndex()]).vector[finalI] = 0;
        }
        else {
            ((LongColumnVector) batch.cols[column.getIndex()]).vector[finalI] = reader.getLong(column);
        }
    }

    @Override
    public void longColumn(Column column)
    {
        ((LongColumnVector) batch.cols[column.getIndex()]).vector[finalI] = reader.getLong(column);
    }

    @Override
    public void doubleColumn(Column column)
    {
        ((DoubleColumnVector) batch.cols[column.getIndex()]).vector[finalI] = reader.getDouble(column);
    }

    @Override
    public void stringColumn(Column column)
    {
        ((BytesColumnVector) batch.cols[column.getIndex()]).setVal(finalI,
                reader.getString(column).getBytes());
    }

    @Override
    public void timestampColumn(Column column)
    {

    }

    @Override
    public void jsonColumn(Column column)
    {
        // throw unsupported
    }
}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
embulk-output-orc-0.0.1 src/main/java/org/embulk/output/orc/OrcColumnVisitor.java