当前位置: 首页>>代码示例>>Java>>正文


Java SimpleRootExec.getRecordCount方法代码示例

本文整理汇总了Java中org.apache.drill.exec.physical.impl.SimpleRootExec.getRecordCount方法的典型用法代码示例。如果您正苦于以下问题:Java SimpleRootExec.getRecordCount方法的具体用法?Java SimpleRootExec.getRecordCount怎么用?Java SimpleRootExec.getRecordCount使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.drill.exec.physical.impl.SimpleRootExec的用法示例。


在下文中一共展示了SimpleRootExec.getRecordCount方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: verifyLimitCount

import org.apache.drill.exec.physical.impl.SimpleRootExec; //导入方法依赖的package包/类
private void verifyLimitCount(DrillbitContext bitContext, UserServer.UserClientConnection connection, String testPlan, int expectedCount) throws Throwable {
  final PhysicalPlanReader reader = new PhysicalPlanReader(c, c.getMapper(), CoordinationProtos.DrillbitEndpoint.getDefaultInstance());
  final PhysicalPlan plan = reader.readPhysicalPlan(Files.toString(FileUtils.getResourceAsFile("/limit/" + testPlan), Charsets.UTF_8));
  final FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
  final FragmentContext context = new FragmentContext(bitContext, PlanFragment.getDefaultInstance(), connection, registry);
  final SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));
  int recordCount = 0;
  while(exec.next()) {
    recordCount += exec.getRecordCount();
  }

  assertEquals(expectedCount, recordCount);

  if(context.getFailureCause() != null) {
    throw context.getFailureCause();
  }

  assertTrue(!context.isFailed());
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:20,代码来源:TestSimpleLimit.java

示例2: verifySum

import org.apache.drill.exec.physical.impl.SimpleRootExec; //导入方法依赖的package包/类
private void verifySum(DrillbitContext bitContext, UserServer.UserClientConnection connection, String testPlan, int expectedCount, long expectedSum) throws Throwable {
  final PhysicalPlanReader reader = new PhysicalPlanReader(c, c.getMapper(), CoordinationProtos.DrillbitEndpoint.getDefaultInstance());
  final PhysicalPlan plan = reader.readPhysicalPlan(Files.toString(FileUtils.getResourceAsFile("/limit/" + testPlan), Charsets.UTF_8));
  final FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
  final FragmentContext context = new FragmentContext(bitContext, PlanFragment.getDefaultInstance(), connection, registry);
  final SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));
  int recordCount = 0;
  long sum = 0;
  while(exec.next()) {
    recordCount += exec.getRecordCount();
    final BigIntVector v = (BigIntVector) exec.iterator().next();
    for (int i = 0; i < v.getAccessor().getValueCount(); i++) {
      sum += v.getAccessor().get(i);
    }
  }

  assertEquals(expectedCount, recordCount);
  assertEquals(expectedSum, sum);

  if(context.getFailureCause() != null) {
    throw context.getFailureCause();
  }
  assertTrue(!context.isFailed());
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:25,代码来源:TestSimpleLimit.java

示例3: oneKeyAgg

import org.apache.drill.exec.physical.impl.SimpleRootExec; //导入方法依赖的package包/类
@Test
public void oneKeyAgg(@Injectable final DrillbitContext bitContext, @Injectable UserClientConnection connection) throws Throwable {
  final SimpleRootExec exec = doTest(bitContext, connection, "/agg/test1.json");

  while(exec.next()) {
    final BigIntVector cnt = exec.getValueVectorById(SchemaPath.getSimplePath("cnt"), BigIntVector.class);
    final IntVector key = exec.getValueVectorById(SchemaPath.getSimplePath("blue"), IntVector.class);
    final long[] cntArr = {10001, 9999};
    final int[] keyArr = {Integer.MIN_VALUE, Integer.MAX_VALUE};

    for(int i = 0; i < exec.getRecordCount(); i++) {
      assertEquals((Long) cntArr[i], cnt.getAccessor().getObject(i));
      assertEquals((Integer) keyArr[i], key.getAccessor().getObject(i));
    }
  }

  if(exec.getContext().getFailureCause() != null) {
    throw exec.getContext().getFailureCause();
  }
  assertTrue(!exec.getContext().isFailed());

}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:23,代码来源:TestAgg.java

示例4: verifyLimitCount

import org.apache.drill.exec.physical.impl.SimpleRootExec; //导入方法依赖的package包/类
private void verifyLimitCount(DrillbitContext bitContext, UserClientConnection connection, String testPlan, int expectedCount) throws Throwable {
  final PhysicalPlanReader reader = PhysicalPlanReaderTestFactory.defaultPhysicalPlanReader(c);
  final PhysicalPlan plan = reader.readPhysicalPlan(Files.toString(DrillFileUtils.getResourceAsFile("/limit/" + testPlan), Charsets.UTF_8));
  final FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
  final FragmentContext context = new FragmentContext(bitContext, PlanFragment.getDefaultInstance(), connection, registry);
  final SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));
  int recordCount = 0;
  while(exec.next()) {
    recordCount += exec.getRecordCount();
  }

  assertEquals(expectedCount, recordCount);

  if(context.getFailureCause() != null) {
    throw context.getFailureCause();
  }

  assertTrue(!context.isFailed());
}
 
开发者ID:axbaretto,项目名称:drill,代码行数:20,代码来源:TestSimpleLimit.java

示例5: verifySum

import org.apache.drill.exec.physical.impl.SimpleRootExec; //导入方法依赖的package包/类
private void verifySum(DrillbitContext bitContext, UserClientConnection connection, String testPlan, int expectedCount, long expectedSum) throws Throwable {
  final PhysicalPlanReader reader = PhysicalPlanReaderTestFactory.defaultPhysicalPlanReader(c);
  final PhysicalPlan plan = reader.readPhysicalPlan(Files.toString(DrillFileUtils.getResourceAsFile("/limit/" + testPlan), Charsets.UTF_8));
  final FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
  final FragmentContext context = new FragmentContext(bitContext, PlanFragment.getDefaultInstance(), connection, registry);
  final SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));
  int recordCount = 0;
  long sum = 0;
  while(exec.next()) {
    recordCount += exec.getRecordCount();
    final BigIntVector v = (BigIntVector) exec.iterator().next();
    for (int i = 0; i < v.getAccessor().getValueCount(); i++) {
      sum += v.getAccessor().get(i);
    }
  }

  assertEquals(expectedCount, recordCount);
  assertEquals(expectedSum, sum);

  if(context.getFailureCause() != null) {
    throw context.getFailureCause();
  }
  assertTrue(!context.isFailed());
}
 
开发者ID:axbaretto,项目名称:drill,代码行数:25,代码来源:TestSimpleLimit.java

示例6: testHJMockScanCommon

import org.apache.drill.exec.physical.impl.SimpleRootExec; //导入方法依赖的package包/类
private void testHJMockScanCommon(final DrillbitContext bitContext, UserClientConnection connection, String physicalPlan, int expectedRows) throws Throwable {

    mockDrillbitContext(bitContext);

    final PhysicalPlanReader reader = PhysicalPlanReaderTestFactory.defaultPhysicalPlanReader(c);
    final PhysicalPlan plan = reader.readPhysicalPlan(Files.toString(DrillFileUtils.getResourceAsFile(physicalPlan), Charsets.UTF_8));
    final FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
    final FragmentContext context = new FragmentContext(bitContext, PlanFragment.getDefaultInstance(), connection, registry);
    final SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));

    int totalRecordCount = 0;
    while (exec.next()) {
      totalRecordCount += exec.getRecordCount();
    }
    exec.close();
    assertEquals(expectedRows, totalRecordCount);
    System.out.println("Total Record Count: " + totalRecordCount);
    if (context.getFailureCause() != null) {
      throw context.getFailureCause();
    }
    assertTrue(!context.isFailed());
  }
 
开发者ID:axbaretto,项目名称:drill,代码行数:23,代码来源:TestHashJoin.java

示例7: twoKeyAgg

import org.apache.drill.exec.physical.impl.SimpleRootExec; //导入方法依赖的package包/类
@Test
  public void twoKeyAgg(@Injectable final DrillbitContext bitContext, @Injectable UserClientConnection connection) throws Throwable {
    SimpleRootExec exec = doTest(bitContext, connection, "/agg/twokey.json");

    while(exec.next()) {
      final IntVector key1 = exec.getValueVectorById(SchemaPath.getSimplePath("key1"), IntVector.class);
      final BigIntVector key2 = exec.getValueVectorById(SchemaPath.getSimplePath("key2"), BigIntVector.class);
      final BigIntVector cnt = exec.getValueVectorById(SchemaPath.getSimplePath("cnt"), BigIntVector.class);
      final NullableBigIntVector total = exec.getValueVectorById(SchemaPath.getSimplePath("total"), NullableBigIntVector.class);
      final Integer[] keyArr1 = {Integer.MIN_VALUE, Integer.MIN_VALUE, Integer.MIN_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE};
      final long[] keyArr2 = {0,1,2,0,1,2};
      final long[] cntArr = {34,34,34,34,34,34};
      final long[] totalArr = {0,34,68,0,34,68};

      for(int i = 0; i < exec.getRecordCount(); i++) {
//        System.out.print(key1.getAccessor().getObject(i));
//        System.out.print("\t");
//        System.out.print(key2.getAccessor().getObject(i));
//        System.out.print("\t");
//        System.out.print(cnt.getAccessor().getObject(i));
//        System.out.print("\t");
//        System.out.print(total.getAccessor().getObject(i));
//        System.out.println();
        assertEquals((Long) cntArr[i], cnt.getAccessor().getObject(i));
        assertEquals(keyArr1[i], key1.getAccessor().getObject(i));
        assertEquals((Long) keyArr2[i], key2.getAccessor().getObject(i));
        assertEquals((Long) totalArr[i], total.getAccessor().getObject(i));
      }
    }

    if(exec.getContext().getFailureCause() != null){
      throw exec.getContext().getFailureCause();
    }
    assertTrue(!exec.getContext().isFailed());

  }
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:37,代码来源:TestAgg.java

示例8: testHJMockScanCommon

import org.apache.drill.exec.physical.impl.SimpleRootExec; //导入方法依赖的package包/类
private void testHJMockScanCommon(final DrillbitContext bitContext, UserServer.UserClientConnection connection, String physicalPlan, int expectedRows) throws Throwable {
  final LocalPStoreProvider provider = new LocalPStoreProvider(c);
  provider.start();
  final SystemOptionManager opt = new SystemOptionManager(c, provider);
  opt.init();
  new NonStrictExpectations() {{
      bitContext.getMetrics(); result = new MetricRegistry();
      bitContext.getAllocator(); result = RootAllocatorFactory.newRoot(c);
      bitContext.getOperatorCreatorRegistry(); result = new OperatorCreatorRegistry(c);
      bitContext.getConfig(); result = c;
      bitContext.getOptionManager(); result = opt;
      bitContext.getCompiler(); result = CodeCompiler.getTestCompiler(c);
  }};

  final PhysicalPlanReader reader = new PhysicalPlanReader(c, c.getMapper(), CoordinationProtos.DrillbitEndpoint.getDefaultInstance());
  final PhysicalPlan plan = reader.readPhysicalPlan(Files.toString(FileUtils.getResourceAsFile(physicalPlan), Charsets.UTF_8));
  final FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
  final FragmentContext context = new FragmentContext(bitContext, PlanFragment.getDefaultInstance(), connection, registry);
  final SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));

  int totalRecordCount = 0;
  while (exec.next()) {
    totalRecordCount += exec.getRecordCount();
  }
  exec.close();
  assertEquals(expectedRows, totalRecordCount);
  System.out.println("Total Record Count: " + totalRecordCount);
  if (context.getFailureCause() != null) {
    throw context.getFailureCause();
  }
  assertTrue(!context.isFailed());
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:33,代码来源:TestHashJoin.java

示例9: twoKeyAgg

import org.apache.drill.exec.physical.impl.SimpleRootExec; //导入方法依赖的package包/类
@Test
  public void twoKeyAgg(@Injectable final DrillbitContext bitContext, @Injectable UserClientConnection connection) throws Throwable {
    SimpleRootExec exec = doTest(bitContext, connection, "/agg/twokey.json");

    while(exec.next()) {
      final IntVector key1 = exec.getValueVectorById(SchemaPath.getSimplePath("key1"), IntVector.class);
      final BigIntVector key2 = exec.getValueVectorById(SchemaPath.getSimplePath("key2"), BigIntVector.class);
      final BigIntVector cnt = exec.getValueVectorById(SchemaPath.getSimplePath("cnt"), BigIntVector.class);
      final NullableBigIntVector total = exec.getValueVectorById(SchemaPath.getSimplePath("total"), NullableBigIntVector.class);
      final Integer[] keyArr1 = {Integer.MIN_VALUE, Integer.MIN_VALUE, Integer.MIN_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE};
      final long[] keyArr2 = {0,1,2,0,1,2};
      final long[] cntArr = {34,34,34,34,34,34};
      final long[] totalArr = {0,34,68,0,34,68};

      for(int i = 0; i < exec.getRecordCount(); i++) {
//        System.out.print(key1.getAccessor().getObject(i));
//        System.out.print("\t");
//        System.out.print(key2.getAccessor().getObject(i));
//        System.out.print("\t");
//        System.out.print(cnt.getAccessor().getObject(i));
//        System.out.print("\t");
//        System.out.print(total.getAccessor().getObject(i));
//        System.out.println();
        assertEquals((Long) cntArr[i], cnt.getAccessor().getObject(i));
        assertEquals(keyArr1[i], key1.getAccessor().getObject(i));
        assertEquals((Long) keyArr2[i], key2.getAccessor().getObject(i));
        assertEquals((Long) totalArr[i], total.getAccessor().getObject(i));
      }
    }

    if(exec.getContext().getFailureCause() != null){
      throw exec.getContext().getFailureCause();
    }
    assertTrue(!exec.getContext().isFailed());
  }
 
开发者ID:axbaretto,项目名称:drill,代码行数:36,代码来源:TestAgg.java

示例10: testRepeated

import org.apache.drill.exec.physical.impl.SimpleRootExec; //导入方法依赖的package包/类
@Test
  public void testRepeated(@Injectable final DrillbitContext bitContext, @Injectable UserClientConnection connection) throws Throwable {
//    System.out.println(System.getProperty("java.class.path"));
    new NonStrictExpectations() {{
      bitContext.getMetrics(); result = new MetricRegistry();
      bitContext.getAllocator(); result = RootAllocatorFactory.newRoot(c);
      bitContext.getOperatorCreatorRegistry(); result = new OperatorCreatorRegistry(c);
      bitContext.getConfig(); result = c;
      bitContext.getCompiler(); result = CodeCompiler.getTestCompiler(c);
    }};

    final PhysicalPlanReader reader = new PhysicalPlanReader(c, c.getMapper(), CoordinationProtos.DrillbitEndpoint.getDefaultInstance());
    final PhysicalPlan plan = reader.readPhysicalPlan(Files.toString(FileUtils.getResourceAsFile("/physical_repeated_1.json"), Charsets.UTF_8));
    final FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
    final FragmentContext context = new FragmentContext(bitContext, PlanFragment.getDefaultInstance(), connection, registry);
    final SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));

    boolean oneIsOne = false;
    int size = 0;
    final int[] sizes = {1, 2, 0, 6};

    while(exec.next()) {
      final IntVector c1 = exec.getValueVectorById(new SchemaPath("cnt", ExpressionPosition.UNKNOWN), IntVector.class);
      final BitVector c2 = exec.getValueVectorById(new SchemaPath("has_min", ExpressionPosition.UNKNOWN), BitVector.class);

      for(int i = 0; i < exec.getRecordCount(); i++) {
        final int curSize = sizes[size % sizes.length];
        assertEquals(curSize, c1.getAccessor().get(i));
        switch(curSize) {
        case 1:
          assertEquals(oneIsOne, 1 == c2.getAccessor().get(i));
          oneIsOne = !oneIsOne;
          break;
        case 2:
          assertEquals(1, c2.getAccessor().get(i));
          break;
        case 0:
          assertEquals(0, c2.getAccessor().get(i));
          break;
        case 6:
          assertEquals(1, c2.getAccessor().get(i));
          break;
        }
        size++;
      }
    }

    if(context.getFailureCause() != null) {
      throw context.getFailureCause();
    }
    assertTrue(!context.isFailed());
  }
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:53,代码来源:TestRepeatedFunction.java

示例11: orderedEqualityLeftJoin

import org.apache.drill.exec.physical.impl.SimpleRootExec; //导入方法依赖的package包/类
@Test
@Ignore
public void orderedEqualityLeftJoin(@Injectable final DrillbitContext bitContext,
                                    @Injectable UserServer.UserClientConnection connection) throws Throwable {
  new NonStrictExpectations() {{
    bitContext.getMetrics(); result = new MetricRegistry();
    bitContext.getAllocator(); result = RootAllocatorFactory.newRoot(c);
    bitContext.getConfig(); result = c;
    bitContext.getOperatorCreatorRegistry(); result = new OperatorCreatorRegistry(c);
    bitContext.getCompiler(); result = CodeCompiler.getTestCompiler(c);
  }};

  final PhysicalPlanReader reader = new PhysicalPlanReader(c, c.getMapper(),CoordinationProtos.DrillbitEndpoint.getDefaultInstance(), new StoragePluginRegistry(bitContext));
  final PhysicalPlan plan = reader.readPhysicalPlan(
      Files.toString(
          FileUtils.getResourceAsFile("/join/merge_single_batch.json"), Charsets.UTF_8)
          .replace("#{LEFT_FILE}", FileUtils.getResourceAsFile("/join/merge_single_batch.left.json").toURI().toString())
          .replace("#{RIGHT_FILE}", FileUtils.getResourceAsFile("/join/merge_single_batch.right.json").toURI().toString()));
  final FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
  final FragmentContext context = new FragmentContext(bitContext, PlanFragment.getDefaultInstance(), connection, registry);
  final SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));

  int totalRecordCount = 0;
  while (exec.next()) {
    totalRecordCount += exec.getRecordCount();
    System.out.println("got next with record count: " + exec.getRecordCount() + " (total: " + totalRecordCount + "):");
    System.out.println("       t1                 t2");

    for (int valueIdx = 0; valueIdx < exec.getRecordCount(); valueIdx++) {
      final List<Object> row = Lists.newArrayList();
      for (final ValueVector v : exec) {
        row.add(v.getField().toExpr() + ":" + v.getAccessor().getObject(valueIdx));
      }
      for (final Object cell : row) {
        if (cell == null) {
          System.out.print("<null>    ");
          continue;
        }
        final int len = cell.toString().length();
        System.out.print(cell + " ");
        for (int i = 0; i < (10 - len); ++i) {
          System.out.print(" ");
        }
      }
      System.out.println();
    }
  }
  System.out.println("Total Record Count: " + totalRecordCount);
  assertEquals(25, totalRecordCount);

  if (context.getFailureCause() != null) {
    throw context.getFailureCause();
  }
  assertTrue(!context.isFailed());
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:56,代码来源:TestMergeJoin.java

示例12: orderedEqualityInnerJoin

import org.apache.drill.exec.physical.impl.SimpleRootExec; //导入方法依赖的package包/类
@Test
@Ignore
public void orderedEqualityInnerJoin(@Injectable final DrillbitContext bitContext,
                                     @Injectable UserServer.UserClientConnection connection) throws Throwable {
  new NonStrictExpectations() {{
    bitContext.getMetrics(); result = new MetricRegistry();
    bitContext.getAllocator(); result = RootAllocatorFactory.newRoot(c);
    bitContext.getConfig(); result = c;
    bitContext.getOperatorCreatorRegistry(); result = new OperatorCreatorRegistry(c);
    bitContext.getCompiler(); result = CodeCompiler.getTestCompiler(c);
  }};

  final PhysicalPlanReader reader = new PhysicalPlanReader(c, c.getMapper(),CoordinationProtos.DrillbitEndpoint.getDefaultInstance(), new StoragePluginRegistry(bitContext));
  final PhysicalPlan plan = reader.readPhysicalPlan(
      Files.toString(
          FileUtils.getResourceAsFile("/join/merge_inner_single_batch.json"), Charsets.UTF_8)
          .replace("#{LEFT_FILE}", FileUtils.getResourceAsFile("/join/merge_single_batch.left.json").toURI().toString())
          .replace("#{RIGHT_FILE}", FileUtils.getResourceAsFile("/join/merge_single_batch.right.json").toURI().toString()));
  final FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
  final FragmentContext context = new FragmentContext(bitContext, PlanFragment.getDefaultInstance(), connection, registry);
  final SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));

  int totalRecordCount = 0;
  while (exec.next()) {
    totalRecordCount += exec.getRecordCount();
    System.out.println("got next with record count: " + exec.getRecordCount() + " (total: " + totalRecordCount + "):");
    System.out.println("       t1                 t2");

    for (int valueIdx = 0; valueIdx < exec.getRecordCount(); valueIdx++) {
      final List<Object> row = Lists.newArrayList();
      for (final ValueVector v : exec) {
        row.add(v.getField().toExpr() + ":" + v.getAccessor().getObject(valueIdx));
      }
      for (final Object cell : row) {
        if (cell == null) {
          System.out.print("<null>    ");
          continue;
        }
        final int len = cell.toString().length();
        System.out.print(cell + " ");
        for (int i = 0; i < (10 - len); ++i) {
          System.out.print(" ");
        }
      }
      System.out.println();
    }
  }
  System.out.println("Total Record Count: " + totalRecordCount);
  assertEquals(23, totalRecordCount);

  if (context.getFailureCause() != null) {
    throw context.getFailureCause();
  }
  assertTrue(!context.isFailed());
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:56,代码来源:TestMergeJoin.java

示例13: orderedEqualityMultiBatchJoin

import org.apache.drill.exec.physical.impl.SimpleRootExec; //导入方法依赖的package包/类
@Test
@Ignore
public void orderedEqualityMultiBatchJoin(@Injectable final DrillbitContext bitContext,
                                          @Injectable UserServer.UserClientConnection connection) throws Throwable {
  new NonStrictExpectations() {{
    bitContext.getMetrics(); result = new MetricRegistry();
    bitContext.getAllocator(); result = RootAllocatorFactory.newRoot(c);
    bitContext.getConfig(); result = c;
    bitContext.getOperatorCreatorRegistry(); result = new OperatorCreatorRegistry(c);
    bitContext.getCompiler(); result = CodeCompiler.getTestCompiler(c);
  }};

  final PhysicalPlanReader reader = new PhysicalPlanReader(c, c.getMapper(),CoordinationProtos.DrillbitEndpoint.getDefaultInstance(), new StoragePluginRegistry(bitContext));
  final PhysicalPlan plan = reader.readPhysicalPlan(
      Files.toString(
          FileUtils.getResourceAsFile("/join/merge_multi_batch.json"), Charsets.UTF_8)
          .replace("#{LEFT_FILE}", FileUtils.getResourceAsFile("/join/merge_multi_batch.left.json").toURI().toString())
          .replace("#{RIGHT_FILE}", FileUtils.getResourceAsFile("/join/merge_multi_batch.right.json").toURI().toString()));
  final FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
  final FragmentContext context = new FragmentContext(bitContext, PlanFragment.getDefaultInstance(), connection, registry);
  final SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));

  int totalRecordCount = 0;
  while (exec.next()) {
    totalRecordCount += exec.getRecordCount();
    System.out.println("got next with record count: " + exec.getRecordCount() + " (total: " + totalRecordCount + "):");

    for (int valueIdx = 0; valueIdx < exec.getRecordCount(); valueIdx++) {
      final List<Object> row = Lists.newArrayList();
      for (final ValueVector v : exec) {
        row.add(v.getField().toExpr() + ":" + v.getAccessor().getObject(valueIdx));
      }
      for (final Object cell : row) {
        if (cell == null) {
          System.out.print("<null>    ");
          continue;
        }
        int len = cell.toString().length();
        System.out.print(cell + " ");
        for (int i = 0; i < (10 - len); ++i) {
          System.out.print(" ");
        }
      }
      System.out.println();
    }
  }
  System.out.println("Total Record Count: " + totalRecordCount);
  assertEquals(25, totalRecordCount);

  if (context.getFailureCause() != null) {
    throw context.getFailureCause();
  }
  assertTrue(!context.isFailed());
}
 
开发者ID:skhalifa,项目名称:QDrill,代码行数:55,代码来源:TestMergeJoin.java

示例14: testRepeated

import org.apache.drill.exec.physical.impl.SimpleRootExec; //导入方法依赖的package包/类
@Test
  public void testRepeated(@Injectable final DrillbitContext bitContext, @Injectable UserClientConnection connection) throws Throwable {
//    System.out.println(System.getProperty("java.class.path"));
    mockDrillbitContext(bitContext);

    final PhysicalPlanReader reader = PhysicalPlanReaderTestFactory.defaultPhysicalPlanReader(c);
    final PhysicalPlan plan = reader.readPhysicalPlan(Files.toString(DrillFileUtils.getResourceAsFile("/physical_repeated_1.json"), Charsets.UTF_8));
    final FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
    final FragmentContext context = new FragmentContext(bitContext, PlanFragment.getDefaultInstance(), connection, registry);
    final SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));

    boolean oneIsOne = false;
    int size = 0;
    final int[] sizes = {1, 2, 0, 6};

    while(exec.next()) {
      final IntVector c1 = exec.getValueVectorById(new SchemaPath("cnt", ExpressionPosition.UNKNOWN), IntVector.class);
      final BitVector c2 = exec.getValueVectorById(new SchemaPath("has_min", ExpressionPosition.UNKNOWN), BitVector.class);

      for(int i = 0; i < exec.getRecordCount(); i++) {
        final int curSize = sizes[size % sizes.length];
        assertEquals(curSize, c1.getAccessor().get(i));
        switch(curSize) {
        case 1:
          assertEquals(oneIsOne, 1 == c2.getAccessor().get(i));
          oneIsOne = !oneIsOne;
          break;
        case 2:
          assertEquals(1, c2.getAccessor().get(i));
          break;
        case 0:
          assertEquals(0, c2.getAccessor().get(i));
          break;
        case 6:
          assertEquals(1, c2.getAccessor().get(i));
          break;
        }
        size++;
      }
    }

    if(context.getFailureCause() != null) {
      throw context.getFailureCause();
    }
    assertTrue(!context.isFailed());
  }
 
开发者ID:axbaretto,项目名称:drill,代码行数:47,代码来源:TestRepeatedFunction.java

示例15: orderedEqualityLeftJoin

import org.apache.drill.exec.physical.impl.SimpleRootExec; //导入方法依赖的package包/类
@Test
@Ignore
public void orderedEqualityLeftJoin(@Injectable final DrillbitContext bitContext,
                                    @Injectable UserClientConnection connection) throws Throwable {
  mockDrillbitContext(bitContext);

  final PhysicalPlanReader reader = PhysicalPlanReaderTestFactory.defaultPhysicalPlanReader(c,
      new StoragePluginRegistryImpl(bitContext));
  final PhysicalPlan plan = reader.readPhysicalPlan(
      Files.toString(
          DrillFileUtils.getResourceAsFile("/join/merge_single_batch.json"), Charsets.UTF_8)
          .replace("#{LEFT_FILE}", DrillFileUtils.getResourceAsFile("/join/merge_single_batch.left.json").toURI().toString())
          .replace("#{RIGHT_FILE}", DrillFileUtils.getResourceAsFile("/join/merge_single_batch.right.json").toURI().toString()));
  final FunctionImplementationRegistry registry = new FunctionImplementationRegistry(c);
  final FragmentContext context = new FragmentContext(bitContext, PlanFragment.getDefaultInstance(), connection, registry);
  final SimpleRootExec exec = new SimpleRootExec(ImplCreator.getExec(context, (FragmentRoot) plan.getSortedOperators(false).iterator().next()));

  int totalRecordCount = 0;
  while (exec.next()) {
    totalRecordCount += exec.getRecordCount();
    System.out.println("got next with record count: " + exec.getRecordCount() + " (total: " + totalRecordCount + "):");
    System.out.println("       t1                 t2");

    for (int valueIdx = 0; valueIdx < exec.getRecordCount(); valueIdx++) {
      final List<Object> row = Lists.newArrayList();
      for (final ValueVector v : exec) {
        row.add(v.getField().getName() + ":" + v.getAccessor().getObject(valueIdx));
      }
      for (final Object cell : row) {
        if (cell == null) {
          System.out.print("<null>    ");
          continue;
        }
        final int len = cell.toString().length();
        System.out.print(cell + " ");
        for (int i = 0; i < (10 - len); ++i) {
          System.out.print(" ");
        }
      }
      System.out.println();
    }
  }
  System.out.println("Total Record Count: " + totalRecordCount);
  assertEquals(25, totalRecordCount);

  if (context.getFailureCause() != null) {
    throw context.getFailureCause();
  }
  assertTrue(!context.isFailed());
}
 
开发者ID:axbaretto,项目名称:drill,代码行数:51,代码来源:TestMergeJoin.java


注:本文中的org.apache.drill.exec.physical.impl.SimpleRootExec.getRecordCount方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。