/** * 异步方式 * * @return 返回生成的JobInstance */ public Instance submit() throws OdpsException { instance = submitWithRetry(); return instance; }
private void printQueueingMessage() { if (InPlaceUpdates.isUnixTerminal()) { int line = context.getRepositionLines(); if (line > 0) { InPlaceUpdates.rePositionCursor(out, line); } final String dots = new String(new char[count++ % 5 + 1]).replace("\0", "."); String message = "Job Queueing" + dots; InPlaceUpdates.reprintLine(out, message); context.setRepositionLines(1); } else { context.getExecutionContext().getOutputWriter().writeError( "Job Queueing..."); } }
private void writeHeader() { if (InPlaceUpdates.isUnixTerminal()) { InPlaceUpdates.reprintLineWithColorAsBold(ERR, HEADER, Ansi.Color.CYAN); } else { getContext().getOutputWriter().writeError(HEADER); } }
public void printProgress(boolean isTerminate) { if (context.getTaskProgress() == null || context.getTaskProgress().isEmpty()) { return; } List<Instance.StageProgress> stageProgresses = context.getTaskProgress(); if (InPlaceUpdates.isUnixTerminal()) { printProgressesInPlace(stageProgresses, isTerminate); } else { context.getExecutionContext().getOutputWriter().writeError( getProgressFormattedString(stageProgresses, isTerminate)); } // 纪录当前进度信息, 是否为完成状态 context.setProgressReportFinish(completedStageNames.size() == stageProgresses.size()); }
public void printInstanceId() { context.getOutputWriter().writeResult(""); context.getOutputWriter().writeError("ID = " + instance.getId()); }
@Override public void run() throws OdpsException, ODPSConsoleException { Odps odps = getCurrentOdps(); ExecutionContext context = getContext(); Instance instance = odps.instances().get(id); InstanceRunner runner = new InstanceRunner(odps, instance, context); runner.waitForCompletion(); String queryResult = runner.getResult(); DefaultOutputWriter writer = context.getOutputWriter(); if (queryResult != null && !queryResult.trim().equals("")) { writer.writeResult(queryResult); } }
private void writeStatus(String status) { getWriter().writeError("OK"); if (status == null) { getWriter().writeError("please check instance status. [status " + instanceId + ";]"); } else { getWriter().writeError("instance " + instanceId + " has been " + status + " ;"); } }
public static void printModelInfo(DefaultOutputWriter writer, OfflineModel model) { writer.writeResult("\n+-------------------------------------------------+"); writer.writeResult("| Name: " + model.getName()); writer.writeResult("| Project: " + model.getProject()); writer.writeResult("| Owner: " + model.getOwner()); writer.writeResult("| CreateTime: " + ODPSConsoleUtils.formatDate(model.getCreatedTime())); writer.writeResult("| LastModifiedTime: " + ODPSConsoleUtils.formatDate(model.getLastModifiedTime())); if (model.getType() != null) { // in case of service is old and console is new writer.writeResult("| Type: " + model.getType()); } writer.writeResult("+-------------------------------------------------+\n"); System.out.flush(); }
protected void reportResult(InstanceRunner runner) throws OdpsException, ODPSConsoleException { String queryResult = runner.getResult(); if (queryResult != null && !queryResult.trim().equals("")) { writeResult(queryResult); } }
public void run() throws OdpsException, ODPSConsoleException { Odps odps = getCurrentOdps(); if ((delay != null) && InPlaceUpdates.isUnixTerminal()) { autoRefreshQueue(odps); } else { printQueue(getQueue(odps)); } }
public void writeDebug(String str) { if (getSessionContext().isDebug()) { System.err.println("[DEBUG]:" + str); } }
private void printSqlWarnings(String taskName) throws OdpsException { List<String> warnings = SQLTask.getSqlWarning(context.getInstance(), taskName); if (warnings != null && !warnings.isEmpty()) { if (InPlaceUpdates.isUnixTerminal() && context.getRepositionLines() > 0) { InPlaceUpdates.rePositionCursor(out, context.getRepositionLines()); InPlaceUpdates.reprintLine(out, "SQL Warnings:"); } else { context.getExecutionContext().getOutputWriter().writeError("SQL Warnings:"); } for (String warning : warnings) { context.getExecutionContext().getOutputWriter().writeError(warning); } context.setRepositionLines(0); } }
private void checkUpdate() { String updateUrl = getContext().getUpdateUrl(); if (!StringUtils.isNullOrEmpty(updateUrl)) { UpdateChecker checker = new UpdateChecker(updateUrl, getContext()); if (checker.shouldPromptUpdate()) { String message = String.format("New version %s available! Try it now! %s", checker.getOnlineVersion(), checker.getOnlineDownloadURL()); if (InPlaceUpdates.isUnixTerminal()) { InPlaceUpdates.reprintLineWithColorAsBold(System.err, message, Ansi.Color.CYAN); } else { getWriter().writeError(message); } } } } }
private void reportSummary(Instance.TaskSummary taskSummary, DefaultOutputWriter writer) { // 输出summary信息 try { if (taskSummary == null || "".equals(taskSummary.toString().trim())) { return; } // print Summary String summary = taskSummary.getSummaryText(); writer.writeError("Summary:"); writer.writeError(summary); } catch (Exception e) { writer.writeError("can not get summary. " + e.getMessage()); } }
protected void writeResult(String queryResult) throws ODPSConsoleException { DefaultOutputWriter writer = getContext().getOutputWriter(); writer.writeResult(queryResult); }
public void writeDebug(Throwable t) { if (getSessionContext().isDebug()) { System.err.print("[DEBUG]: "); t.printStackTrace(); } }
public void printLogview() { String logviewUrl = ODPSConsoleUtils.generateLogView(odps, instance, context); if (!StringUtils.isNullOrEmpty(logviewUrl)) { context.getOutputWriter().writeError("Log view:"); context.getOutputWriter().writeError(logviewUrl); } }
@Override public void writeResult(String queryResult) throws ODPSConsoleException { DefaultOutputWriter outputWriter = getContext().getOutputWriter(); queryResult = CostResultParser.parse(queryResult, "SQL"); outputWriter.writeResult(queryResult); }
private int printQueue(Iterator<Instance.InstanceQueueingInfo> queue) throws OdpsException { int total = 0; if (queue.hasNext()) { writeHeader(); // a little tricky getContext().getOutputWriter().writeError(SEPARATOR); while (queue.hasNext() && total++ <= nubmer) { getContext().getOutputWriter().writeError(getQueueingMessage(queue.next())); } getContext().getOutputWriter().writeError(SEPARATOR); } else { getContext().getOutputWriter().writeError(prepareFooter(0)); } return total; }
@Override public void run() throws OdpsException, ODPSConsoleException { DefaultOutputWriter outputWriter = this.getContext().getOutputWriter(); Odps odps = getCurrentOdps(); StreamJobs streamJobs = odps.streamJobs(); String result = getScreenDisplay(streamJobs); outputWriter.writeResult(result); }