Search in sources :

Example 1 with BytesColumnVector

use of org.apache.orc.storage.ql.exec.vector.BytesColumnVector in project incubator-gobblin by apache.

the class GobblinBaseOrcWriter method removeRefOfColumnVectorChild.

/**
 * Set the child field of {@link ColumnVector} to null, assuming input {@link ColumnVector} is nonNull.
 */
private void removeRefOfColumnVectorChild(ColumnVector cv) {
    if (cv instanceof StructColumnVector) {
        StructColumnVector structCv = (StructColumnVector) cv;
        for (ColumnVector childCv : structCv.fields) {
            removeRefOfColumnVectorChild(childCv);
        }
    } else if (cv instanceof ListColumnVector) {
        ListColumnVector listCv = (ListColumnVector) cv;
        removeRefOfColumnVectorChild(listCv.child);
    } else if (cv instanceof MapColumnVector) {
        MapColumnVector mapCv = (MapColumnVector) cv;
        removeRefOfColumnVectorChild(mapCv.keys);
        removeRefOfColumnVectorChild(mapCv.values);
    } else if (cv instanceof UnionColumnVector) {
        UnionColumnVector unionCv = (UnionColumnVector) cv;
        for (ColumnVector unionChildCv : unionCv.fields) {
            removeRefOfColumnVectorChild(unionChildCv);
        }
    } else if (cv instanceof LongColumnVector) {
        ((LongColumnVector) cv).vector = null;
    } else if (cv instanceof DoubleColumnVector) {
        ((DoubleColumnVector) cv).vector = null;
    } else if (cv instanceof BytesColumnVector) {
        ((BytesColumnVector) cv).vector = null;
        ((BytesColumnVector) cv).start = null;
        ((BytesColumnVector) cv).length = null;
    } else if (cv instanceof DecimalColumnVector) {
        ((DecimalColumnVector) cv).vector = null;
    }
}
Also used : DecimalColumnVector(org.apache.orc.storage.ql.exec.vector.DecimalColumnVector) DoubleColumnVector(org.apache.orc.storage.ql.exec.vector.DoubleColumnVector) ListColumnVector(org.apache.orc.storage.ql.exec.vector.ListColumnVector) MapColumnVector(org.apache.orc.storage.ql.exec.vector.MapColumnVector) StructColumnVector(org.apache.orc.storage.ql.exec.vector.StructColumnVector) UnionColumnVector(org.apache.orc.storage.ql.exec.vector.UnionColumnVector) BytesColumnVector(org.apache.orc.storage.ql.exec.vector.BytesColumnVector) LongColumnVector(org.apache.orc.storage.ql.exec.vector.LongColumnVector) ListColumnVector(org.apache.orc.storage.ql.exec.vector.ListColumnVector) UnionColumnVector(org.apache.orc.storage.ql.exec.vector.UnionColumnVector) BytesColumnVector(org.apache.orc.storage.ql.exec.vector.BytesColumnVector) StructColumnVector(org.apache.orc.storage.ql.exec.vector.StructColumnVector) DecimalColumnVector(org.apache.orc.storage.ql.exec.vector.DecimalColumnVector) LongColumnVector(org.apache.orc.storage.ql.exec.vector.LongColumnVector) ColumnVector(org.apache.orc.storage.ql.exec.vector.ColumnVector) MapColumnVector(org.apache.orc.storage.ql.exec.vector.MapColumnVector) DoubleColumnVector(org.apache.orc.storage.ql.exec.vector.DoubleColumnVector)

Example 2 with BytesColumnVector

use of org.apache.orc.storage.ql.exec.vector.BytesColumnVector in project flink by apache.

the class AbstractOrcNoHiveVector method createBytesVector.

private static BytesColumnVector createBytesVector(int batchSize, Object value) {
    BytesColumnVector bcv = new BytesColumnVector(batchSize);
    if (value == null) {
        bcv.noNulls = false;
        bcv.isNull[0] = true;
        bcv.isRepeating = true;
    } else {
        byte[] bytes = value instanceof byte[] ? (byte[]) value : value.toString().getBytes(StandardCharsets.UTF_8);
        bcv.initBuffer(bytes.length);
        bcv.fill(bytes);
        bcv.isNull[0] = false;
    }
    return bcv;
}
Also used : BytesColumnVector(org.apache.orc.storage.ql.exec.vector.BytesColumnVector)

Aggregations

BytesColumnVector (org.apache.orc.storage.ql.exec.vector.BytesColumnVector)2 ColumnVector (org.apache.orc.storage.ql.exec.vector.ColumnVector)1 DecimalColumnVector (org.apache.orc.storage.ql.exec.vector.DecimalColumnVector)1 DoubleColumnVector (org.apache.orc.storage.ql.exec.vector.DoubleColumnVector)1 ListColumnVector (org.apache.orc.storage.ql.exec.vector.ListColumnVector)1 LongColumnVector (org.apache.orc.storage.ql.exec.vector.LongColumnVector)1 MapColumnVector (org.apache.orc.storage.ql.exec.vector.MapColumnVector)1 StructColumnVector (org.apache.orc.storage.ql.exec.vector.StructColumnVector)1 UnionColumnVector (org.apache.orc.storage.ql.exec.vector.UnionColumnVector)1