Examples of VectorUDFAdaptor


Examples of org.apache.hadoop.hive.ql.exec.vector.udf.VectorUDFAdaptor

    String resultColVectorType = getNormalizedTypeName(resultType);

    outputCol = ocm.allocateOutputColumn(resultColVectorType);

    // Make vectorized operator
    VectorExpression ve = new VectorUDFAdaptor(expr, outputCol, resultColVectorType, argDescs);

    // Set child expressions
    VectorExpression[] childVEs = null;
    if (exprResultColumnNums.size() != 0) {
      childVEs = new VectorExpression[exprResultColumnNums.size()];
      for (int i = 0; i < childVEs.length; i++) {
        childVEs[i] = vectorExprs.get(i);
      }
    }
    ve.setChildExpressions(childVEs);

    // Free output columns if inputs have non-leaf expression trees.
    for (Integer i : exprResultColumnNums) {
      ocm.freeOutputColumn(i);
    }
View Full Code Here

Examples of org.apache.hadoop.hive.ql.exec.vector.udf.VectorUDFAdaptor

    argDescs[0].setVariable(0);
    funcDesc = new ExprNodeGenericFuncDesc(typeInfo, genericUDFBridge,
        genericUDFBridge.getUdfName(), children);

    // create the adaptor for this function call to work in vector mode
    VectorUDFAdaptor vudf = null;
    try {
      vudf = new VectorUDFAdaptor(funcDesc, 1, "Long", argDescs);
    } catch (HiveException e) {

      // We should never get here.
      assertTrue(false);
    }

    VectorizedRowBatch b = getBatchLongInLongOut();
    vudf.evaluate(b);

    // verify output
    LongColumnVector out = (LongColumnVector) b.cols[1];
    assertEquals(1000, out.vector[0]);
    assertEquals(1001, out.vector[1]);
    assertEquals(1002, out.vector[2]);
    assertTrue(out.noNulls);
    assertFalse(out.isRepeating);

    // with nulls
    b = getBatchLongInLongOut();
    out = (LongColumnVector) b.cols[1];
    b.cols[0].noNulls = false;
    vudf.evaluate(b);
    assertFalse(out.noNulls);
    assertEquals(1000, out.vector[0]);
    assertEquals(1001, out.vector[1]);
    assertTrue(out.isNull[2]);
    assertFalse(out.isRepeating);

    // with repeating
    b = getBatchLongInLongOut();
    out = (LongColumnVector) b.cols[1];
    b.cols[0].isRepeating = true;
    vudf.evaluate(b);

    // The implementation may or may not set output it isRepeting.
    // That is implementation-defined.
    assertTrue(b.cols[1].isRepeating && out.vector[0] == 1000
        || !b.cols[1].isRepeating && out.vector[2] == 1000);
View Full Code Here

Examples of org.apache.hadoop.hive.ql.exec.vector.udf.VectorUDFAdaptor

    }
    funcDesc = new ExprNodeGenericFuncDesc(typeInfoStr, genericUDFBridge,
        genericUDFBridge.getUdfName(), children);

    // create the adaptor for this function call to work in vector mode
    VectorUDFAdaptor vudf = null;
    try {
      vudf = new VectorUDFAdaptor(funcDesc, 3, "String", argDescs);
    } catch (HiveException e) {

      // We should never get here.
      assertTrue(false);
      throw new RuntimeException(e);
    }

    // with no nulls
    VectorizedRowBatch b = getBatchStrDblLongWithStrOut();
    vudf.evaluate(b);
    byte[] result = null;
    byte[] result2 = null;
    try {
      result = "red:1:1.0".getBytes("UTF-8");
      result2 = "blue:0:0.0".getBytes("UTF-8");
    } catch (Exception e) {
      ;
    }
    BytesColumnVector out = (BytesColumnVector) b.cols[3];
    int cmp = StringExpr.compare(result, 0, result.length, out.vector[1],
        out.start[1], out.length[1]);
    assertEquals(0, cmp);
    assertTrue(out.noNulls);

    // with nulls
    b = getBatchStrDblLongWithStrOut();
    b.cols[1].noNulls = false;
    vudf.evaluate(b);
    out = (BytesColumnVector) b.cols[3];
    assertFalse(out.noNulls);
    assertTrue(out.isNull[1]);

    // with all input columns repeating
    b = getBatchStrDblLongWithStrOut();
    b.cols[0].isRepeating = true;
    b.cols[1].isRepeating = true;
    b.cols[2].isRepeating = true;
    vudf.evaluate(b);

    out = (BytesColumnVector) b.cols[3];
    assertTrue(out.isRepeating);
    cmp = StringExpr.compare(result2, 0, result2.length, out.vector[0],
        out.start[0], out.length[0]);
View Full Code Here

Examples of org.apache.hadoop.hive.ql.exec.vector.udf.VectorUDFAdaptor

    argDescs[0].setVariable(0);
    argDescs[1].setConstant((ExprNodeConstantDesc) children.get(1));
    funcDesc = new ExprNodeGenericFuncDesc(typeInfoStr, genericUDF, "myisnull", children);

    // create the adaptor for this function call to work in vector mode
    VectorUDFAdaptor vudf = null;
    try {
      vudf = new VectorUDFAdaptor(funcDesc, 3, "String", argDescs);
    } catch (HiveException e) {

      // We should never get here.
      assertTrue(false);
    }

    VectorizedRowBatch b;

    byte[] red = null;
    byte[] unknown = null;
    try {
      red = "red".getBytes("UTF-8");
      unknown = "UNKNOWN".getBytes("UTF-8");
    } catch (Exception e) {
      ;
    }
    BytesColumnVector out;

    // with nulls
    b = getBatchStrDblLongWithStrOut();
    b.cols[0].noNulls = false;
    b.cols[0].isNull[0] = true; // set 1st entry to null
    vudf.evaluate(b);
    out = (BytesColumnVector) b.cols[3];

    // verify outputs
    int cmp = StringExpr.compare(red, 0, red.length,
        out.vector[1], out.start[1], out.length[1]);
View Full Code Here

Examples of org.apache.hadoop.hive.ql.exec.vector.udf.VectorUDFAdaptor

    outputCol = ocm.allocateOutputColumn(resultTypeName);

    // Make vectorized operator
    String normalizedName = getNormalizedName(resultTypeName);
    VectorExpression ve = new VectorUDFAdaptor(expr, outputCol, normalizedName, argDescs);

    // Set child expressions
    VectorExpression[] childVEs = null;
    if (exprResultColumnNums.size() != 0) {
      childVEs = new VectorExpression[exprResultColumnNums.size()];
      for (int i = 0; i < childVEs.length; i++) {
        childVEs[i] = vectorExprs.get(i);
      }
    }
    ve.setChildExpressions(childVEs);

    // Free output columns if inputs have non-leaf expression trees.
    for (Integer i : exprResultColumnNums) {
      ocm.freeOutputColumn(i);
    }
View Full Code Here

Examples of org.apache.hadoop.hive.ql.exec.vector.udf.VectorUDFAdaptor

    String resultColVectorType = getNormalizedTypeName(resultType);

    outputCol = ocm.allocateOutputColumn(resultColVectorType);

    // Make vectorized operator
    VectorExpression ve = new VectorUDFAdaptor(expr, outputCol, resultColVectorType, argDescs);

    // Set child expressions
    VectorExpression[] childVEs = null;
    if (exprResultColumnNums.size() != 0) {
      childVEs = new VectorExpression[exprResultColumnNums.size()];
      for (int i = 0; i < childVEs.length; i++) {
        childVEs[i] = vectorExprs.get(i);
      }
    }
    ve.setChildExpressions(childVEs);

    // Free output columns if inputs have non-leaf expression trees.
    for (Integer i : exprResultColumnNums) {
      ocm.freeOutputColumn(i);
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.