MCPcopy Create free account
hub / github.com/apache/pig / testMultiQueryStores

Method testMultiQueryStores

test/org/apache/pig/test/TestCounters.java:500–546  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

498 }
499
500 @Test
501 public void testMultiQueryStores() throws Exception {
502 int[] nums = new int[100];
503 PrintWriter pw = new PrintWriter(Util.createInputFile(cluster, file));
504 for(int i = 0; i < MAX; i++) {
505 int t = r.nextInt(100);
506 pw.println(t);
507 nums[t]++;
508 }
509 pw.close();
510
511 int groups = 0;
512 for (int i : nums) {
513 if (i > 0) groups++;
514 }
515
516 PigServer pigServer = new PigServer(cluster.getExecType(),
517 cluster.getProperties());
518 pigServer.setBatchOn();
519 pigServer.registerQuery("a = load '" + file + "';");
520 pigServer.registerQuery("b = filter a by $0 >= 50;");
521 pigServer.registerQuery("c = group b by $0;");
522 pigServer.registerQuery("d = foreach c generate group;");
523 pigServer.registerQuery("e = filter a by $0 < 50;");
524 pigServer.registerQuery("f = group e by $0;");
525 pigServer.registerQuery("g = foreach f generate group;");
526 pigServer.registerQuery("store d into '/tmp/outout1';");
527 pigServer.registerQuery("store g into '/tmp/outout2';");
528 List<ExecJob> jobs = pigServer.executeBatch();
529 PigStats stats = jobs.get(0).getStatistics();
530
531 assertTrue(stats.getOutputLocations().size() == 2);
532
533 cluster.getFileSystem().delete(new Path(file), true);
534 cluster.getFileSystem().delete(new Path("/tmp/outout1"), true);
535 cluster.getFileSystem().delete(new Path("/tmp/outout2"), true);
536
537 JobStats js = (JobStats)stats.getJobGraph().getSinks().get(0);
538
539 Map<String, Long> entry = js.getMultiStoreCounters();
540 long counter = 0;
541 for (Long val : entry.values()) {
542 counter += val;
543 }
544
545 assertEquals(groups, counter);
546 }
547
548 /*
549 * IMPORTANT NOTE:

Callers

nothing calls this directly

Calls 15

createInputFileMethod · 0.95
setBatchOnMethod · 0.95
registerQueryMethod · 0.95
executeBatchMethod · 0.95
getOutputLocationsMethod · 0.95
getJobGraphMethod · 0.95
getMultiStoreCountersMethod · 0.95
getFileSystemMethod · 0.80
closeMethod · 0.65
getStatisticsMethod · 0.65
getMethod · 0.65
sizeMethod · 0.65

Tested by

no test coverage detected