@Override
  protected AnalyzerOutPutDataBaseUpdate doPredict(
      DataBaseAnalyticSource source, PredictorConfig config) throws AnalysisException {
    DataSet dataSet = null;
    try {
      dataSet = getDataSet(source, source.getAnalyticConfig());
      config.getTrainedModel().getModel().apply(dataSet);
    } catch (Exception e) {
      logger.error(e);
      if (e instanceof WrongUsedException) {
        throw new AnalysisError(this, (WrongUsedException) e);
      } else if (e instanceof AnalysisError) {
        throw (AnalysisError) e;
      } else {
        throw new AnalysisException(e);
      }
    }
    AnalyzerOutPutDataBaseUpdate result = new AnalyzerOutPutDataBaseUpdate();

    result.setDataset(dataSet);

    //		 set url user pwd ,schema, table
    fillDBInfo(result, (DataBaseAnalyticSource) source);

    Model model = config.getTrainedModel().getModel();
    result.setUpdatedColumns(((NBModel) model).getUpdateColumns());
    // good, bad ,

    result.setAnalyticNodeMetaInfo(createNodeMetaInfo(config.getLocale()));
    return result;
  }