expectedList.add(Storage.tuple(30,10)); pigServer.setBatchOn(); pigServer.registerQuery(String.format( "A = load 'hbase://table/%s' using " + PhoenixHBaseLoader.class.getName() + "('%s');", TABLE,
pigServer.setBatchOn(); pigServer.registerQuery(String.format( "A = load 'hbase://table/%s' using " + PhoenixHBaseLoader.class.getName() + "('%s');", TABLE,
expectedList.add(Storage.tuple(2, doubleArrTuple2)); pigServer.setBatchOn(); pigServer.registerQuery(String.format( "A = load 'hbase://table/%s' using " + PhoenixHBaseLoader.class.getName() + "('%s');", TABLE,
pigServer.setBatchOn(); pigServer.registerQuery(String.format( "A = load 'hbase://table/%s' using " + PhoenixHBaseLoader.class.getName() + "('%s');", TABLE,
private void setBatchOn() { mPigServer.setBatchOn(); }
pigServer.setBatchOn(); pigServer.registerQuery("A = LOAD 'in' USING mock.Storage();");
pigServer.setBatchOn(); pigServer.registerQuery("A = LOAD 'in' USING mock.Storage();");
tuple(3, tuple(2.3))); pigServer.setBatchOn(); pigServer.registerQuery("A = LOAD 'in' USING mock.Storage() as (id:int, dbl:tuple());"); pigServer.registerQuery("Store A into 'hbase://" + tableName + "/ID,DBL"
expectedList.add(Storage.tuple(2, 2L, 2L, dynArrTuple2)); final String load = String.format("A = load 'hbase://query/%s' using " + PhoenixHBaseLoader.class.getName() + "('%s');",sqlQuery,zkQuorum); pigServer.setBatchOn(); pigServer.registerQuery(load); pigServer.registerQuery("B = FOREACH A GENERATE ID, SIZE(A_DOUBLE_ARRAY), SIZE(A_VARCHAR_ARRAY), FLATTEND_STR;");
pigServer.setBatchOn(); pigServer.registerQuery("A = LOAD 'in' USING mock.Storage();"); pigServer.registerQuery("B = FOREACH A GENERATE id,name;");
pigServer.setBatchOn(); pigServer.registerQuery("A = LOAD 'in' USING mock.Storage();");
private void registerQueryForDiagnostics(PigServer pigServer, String pl) throws IOException { GruntParser grunt = new GruntParser(new StringReader(pl), pigServer); grunt.setInteractive(false); // We want parsing to happen in batch. But no execution as this is for diagnostics pigServer.setBatchOn(); pigServer.setSkipParseInRegisterForBatch(true); try { grunt.parseStopOnError(true); } catch (ParseException e) { throw new IOException("Failed to parse query: " + pl, e); } }
@Override public Long doInPig(PigServer pigServer) throws ExecException, IOException { pigServer.setBatchOn(); pigServer.registerScript(script.getResource() .getInputStream()); List<ExecJob> executeBatch = pigServer.executeBatch(); long count = 0; for (ExecJob execJob : executeBatch) { count = (Long) execJob.getResults().next().get(0); LOG.debug( "Pig Script Exec job result for total events: {}", count); } return count; } });
static List<ExecJob> run(PigServer pig, Iterable<PigScript> scripts) throws ExecException, IOException { Assert.notNull(scripts, "at least one script is required"); if (!pig.isBatchOn()) { pig.setBatchOn(); } List<ExecJob> jobs = new ArrayList<ExecJob>(); pig.getPigContext().connect(); InputStream in = null; try { for (PigScript script : scripts) { try { in = script.getResource().getInputStream(); } catch (IOException ex) { throw new IllegalArgumentException("Cannot open script [" + script.getResource() + "]", ex); } // register the script (with fallback for old Pig versions) registerScript(pig, in, script.getArguments()); jobs.addAll(pig.executeBatch()); } } finally { IOUtils.closeStream(in); } return jobs; }