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


Java RemoteInterpreterResult类代码示例

本文整理汇总了Java中org.apache.zeppelin.interpreter.thrift.RemoteInterpreterResult的典型用法代码示例。如果您正苦于以下问题:Java RemoteInterpreterResult类的具体用法?Java RemoteInterpreterResult怎么用?Java RemoteInterpreterResult使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


RemoteInterpreterResult类属于org.apache.zeppelin.interpreter.thrift包,在下文中一共展示了RemoteInterpreterResult类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: convert

import org.apache.zeppelin.interpreter.thrift.RemoteInterpreterResult; //导入依赖的package包/类
private RemoteInterpreterResult convert(InterpreterResult result,
    Map<String, Object> config, GUI gui, GUI noteGui) {

  List<RemoteInterpreterResultMessage> msg = new LinkedList<>();
  for (InterpreterResultMessage m : result.message()) {
    msg.add(new RemoteInterpreterResultMessage(
        m.getType().name(),
        m.getData()));
  }

  return new RemoteInterpreterResult(
      result.code().name(),
      msg,
      gson.toJson(config),
      gui.toJson(),
      noteGui.toJson());
}
 
开发者ID:apache,项目名称:zeppelin,代码行数:18,代码来源:RemoteInterpreterServer.java

示例2: convert

import org.apache.zeppelin.interpreter.thrift.RemoteInterpreterResult; //导入依赖的package包/类
private RemoteInterpreterResult convert(InterpreterResult result,
    Map<String, Object> config, GUI gui) {
  return new RemoteInterpreterResult(
      result.code().name(),
      result.type().name(),
      result.message(),
      gson.toJson(config),
      gson.toJson(gui));
}
 
开发者ID:lorthos,项目名称:incubator-zeppelin-druid,代码行数:10,代码来源:RemoteInterpreterServer.java

示例3: convert

import org.apache.zeppelin.interpreter.thrift.RemoteInterpreterResult; //导入依赖的package包/类
private InterpreterResult convert(RemoteInterpreterResult result) {
  InterpreterResult r = new InterpreterResult(
      InterpreterResult.Code.valueOf(result.getCode()));

  for (RemoteInterpreterResultMessage m : result.getMsg()) {
    r.add(InterpreterResult.Type.valueOf(m.getType()), m.getData());
  }

  return r;
}
 
开发者ID:apache,项目名称:zeppelin,代码行数:11,代码来源:RemoteInterpreter.java

示例4: interpret

import org.apache.zeppelin.interpreter.thrift.RemoteInterpreterResult; //导入依赖的package包/类
@Override
public InterpreterResult interpret(String st, InterpreterContext context) {
  logger.debug("st: {}", st);
  FormType form = getFormType();
  RemoteInterpreterProcess interpreterProcess = getInterpreterProcess();
  Client client = null;
  try {
    client = interpreterProcess.getClient();
  } catch (Exception e1) {
    throw new InterpreterException(e1);
  }

  InterpreterContextRunnerPool interpreterContextRunnerPool = interpreterProcess
      .getInterpreterContextRunnerPool();

  List<InterpreterContextRunner> runners = context.getRunners();
  if (runners != null && runners.size() != 0) {
    // assume all runners in this InterpreterContext have the same note id
    String noteId = runners.get(0).getNoteId();

    interpreterContextRunnerPool.clear(noteId);
    interpreterContextRunnerPool.addAll(noteId, runners);
  }

  boolean broken = false;
  try {
    GUI settings = context.getGui();
    RemoteInterpreterResult remoteResult = client.interpret(className, st, convert(context));

    Map<String, Object> remoteConfig = (Map<String, Object>) gson.fromJson(
        remoteResult.getConfig(), new TypeToken<Map<String, Object>>() {
        }.getType());
    context.getConfig().clear();
    context.getConfig().putAll(remoteConfig);

    if (form == FormType.NATIVE) {
      GUI remoteGui = gson.fromJson(remoteResult.getGui(), GUI.class);
      context.getGui().clear();
      context.getGui().setParams(remoteGui.getParams());
      context.getGui().setForms(remoteGui.getForms());
    }

    InterpreterResult result = convert(remoteResult);
    return result;
  } catch (TException e) {
    broken = true;
    throw new InterpreterException(e);
  } finally {
    interpreterProcess.releaseClient(client, broken);
  }
}
 
开发者ID:lorthos,项目名称:incubator-zeppelin-druid,代码行数:52,代码来源:RemoteInterpreter.java

示例5: convert

import org.apache.zeppelin.interpreter.thrift.RemoteInterpreterResult; //导入依赖的package包/类
private InterpreterResult convert(RemoteInterpreterResult result) {
  return new InterpreterResult(
      InterpreterResult.Code.valueOf(result.getCode()),
      Type.valueOf(result.getType()),
      result.getMsg());
}
 
开发者ID:lorthos,项目名称:incubator-zeppelin-druid,代码行数:7,代码来源:RemoteInterpreter.java

示例6: interpret

import org.apache.zeppelin.interpreter.thrift.RemoteInterpreterResult; //导入依赖的package包/类
@Override
public InterpreterResult interpret(final String st, final InterpreterContext context)
    throws InterpreterException {
  if (LOGGER.isDebugEnabled()) {
    LOGGER.debug("st:\n{}", st);
  }

  final FormType form = getFormType();
  RemoteInterpreterProcess interpreterProcess = null;
  try {
    interpreterProcess = getOrCreateInterpreterProcess();
  } catch (IOException e) {
    throw new InterpreterException(e);
  }
  InterpreterContextRunnerPool interpreterContextRunnerPool = interpreterProcess
      .getInterpreterContextRunnerPool();
  List<InterpreterContextRunner> runners = context.getRunners();
  if (runners != null && runners.size() != 0) {
    // assume all runners in this InterpreterContext have the same note id
    String noteId = runners.get(0).getNoteId();

    interpreterContextRunnerPool.clear(noteId);
    interpreterContextRunnerPool.addAll(noteId, runners);
  }
  this.lifecycleManager.onInterpreterUse(this.getInterpreterGroup(), sessionId);
  return interpreterProcess.callRemoteFunction(
      new RemoteInterpreterProcess.RemoteFunction<InterpreterResult>() {
        @Override
        public InterpreterResult call(Client client) throws Exception {

          RemoteInterpreterResult remoteResult = client.interpret(
              sessionId, className, st, convert(context));
          Map<String, Object> remoteConfig = (Map<String, Object>) gson.fromJson(
              remoteResult.getConfig(), new TypeToken<Map<String, Object>>() {
              }.getType());
          context.getConfig().clear();
          context.getConfig().putAll(remoteConfig);
          GUI currentGUI = context.getGui();
          GUI currentNoteGUI = context.getNoteGui();
          if (form == FormType.NATIVE) {
            GUI remoteGui = GUI.fromJson(remoteResult.getGui());
            GUI remoteNoteGui = GUI.fromJson(remoteResult.getNoteGui());
            currentGUI.clear();
            currentGUI.setParams(remoteGui.getParams());
            currentGUI.setForms(remoteGui.getForms());
            currentNoteGUI.setParams(remoteNoteGui.getParams());
            currentNoteGUI.setForms(remoteNoteGui.getForms());
          } else if (form == FormType.SIMPLE) {
            final Map<String, Input> currentForms = currentGUI.getForms();
            final Map<String, Object> currentParams = currentGUI.getParams();
            final GUI remoteGUI = GUI.fromJson(remoteResult.getGui());
            final Map<String, Input> remoteForms = remoteGUI.getForms();
            final Map<String, Object> remoteParams = remoteGUI.getParams();
            currentForms.putAll(remoteForms);
            currentParams.putAll(remoteParams);
          }

          InterpreterResult result = convert(remoteResult);
          return result;
        }
      }
  );

}
 
开发者ID:apache,项目名称:zeppelin,代码行数:65,代码来源:RemoteInterpreter.java

示例7: interpret

import org.apache.zeppelin.interpreter.thrift.RemoteInterpreterResult; //导入依赖的package包/类
@Override
public RemoteInterpreterResult interpret(String noteId, String className, String st,
    RemoteInterpreterContext interpreterContext) throws TException {
  if (logger.isDebugEnabled()) {
    logger.debug("st:\n{}", st);
  }
  Interpreter intp = getInterpreter(noteId, className);
  InterpreterContext context = convert(interpreterContext);
  context.setClassName(intp.getClassName());

  Scheduler scheduler = intp.getScheduler();
  InterpretJobListener jobListener = new InterpretJobListener();
  InterpretJob job = new InterpretJob(
      interpreterContext.getParagraphId(),
      "remoteInterpretJob_" + System.currentTimeMillis(),
      jobListener,
      JobProgressPoller.DEFAULT_INTERVAL_MSEC,
      intp,
      st,
      context);
  scheduler.submit(job);

  while (!job.isTerminated()) {
    synchronized (jobListener) {
      try {
        jobListener.wait(1000);
      } catch (InterruptedException e) {
        logger.info("Exception in RemoteInterpreterServer while interpret, jobListener.wait", e);
      }
    }
  }

  progressMap.remove(interpreterContext.getParagraphId());

  InterpreterResult result;
  if (job.getStatus() == Status.ERROR) {
    result = new InterpreterResult(Code.ERROR, Job.getStack(job.getException()));
  } else {
    result = (InterpreterResult) job.getReturn();

    // in case of job abort in PENDING status, result can be null
    if (result == null) {
      result = new InterpreterResult(Code.KEEP_PREVIOUS_RESULT);
    }
  }
  return convert(result,
      context.getConfig(),
      context.getGui(),
      context.getNoteGui());
}
 
开发者ID:apache,项目名称:zeppelin,代码行数:51,代码来源:RemoteInterpreterServer.java


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