Java Code Examples for org.apache.hadoop.hive.ql.processors.CommandProcessorResponse

The following examples show how to use org.apache.hadoop.hive.ql.processors.CommandProcessorResponse. These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: incubator-sentry   Source File: SentryConfigTool.java    License: Apache License 2.0 7 votes vote down vote up
public void verifyLocalQuery(String queryStr) throws Exception {
  // setup Hive driver
  SessionState session = new SessionState(getHiveConf());
  SessionState.start(session);
  Driver driver = new Driver(session.getConf(), getUser());

  // compile the query
  CommandProcessorResponse compilerStatus = driver
      .compileAndRespond(queryStr);
  if (compilerStatus.getResponseCode() != 0) {
    String errMsg = compilerStatus.getErrorMessage();
    if (errMsg.contains(HiveAuthzConf.HIVE_SENTRY_PRIVILEGE_ERROR_MESSAGE)) {
      printMissingPerms(getHiveConf().get(
          HiveAuthzConf.HIVE_SENTRY_AUTH_ERRORS));
    }
    throw new SemanticException("Compilation error: "
        + compilerStatus.getErrorMessage());
  }
  driver.close();
  System.out
      .println("User " + getUser() + " has privileges to run the query");
}
 
Example 2
Source Project: dremio-oss   Source File: HiveTestUtilities.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * Execute the give <i>query</i> on given <i>hiveDriver</i> instance. If a {@link CommandNeedRetryException}
 * exception is thrown, it tries upto 3 times before returning failure.
 * @param hiveDriver
 * @param query
 */
public static void executeQuery(Driver hiveDriver, String query) {
  CommandProcessorResponse response = null;
  boolean failed = false;
  int retryCount = 3;

  Exception cause = null;
  try {
    response = hiveDriver.run(query);
  } catch(CommandNeedRetryException retryEx) {
    if (--retryCount == 0) {
      failed = true;
      cause = retryEx;
    }
  } catch (Exception ex) {
    failed = true;
    cause = ex;
  }

  if (failed || response.getResponseCode() != 0 ) {
    throw new RuntimeException(String.format("Failed to execute command '%s', errorMsg = '%s'",
        query, (response != null ? response.getErrorMessage() : "")), cause);
  }
}
 
Example 3
Source Project: dremio-oss   Source File: HiveTestUtilities.java    License: Apache License 2.0 6 votes vote down vote up
/**
 * Execute the give <i>query</i> on given <i>hiveDriver</i> instance.
 * @param hiveDriver
 * @param query
 */
public static void executeQuery(Driver hiveDriver, String query) {
  CommandProcessorResponse response = null;
  boolean failed = false;

  Exception cause;
  try {
    response = hiveDriver.run(query);
    cause = null;
  } catch(Exception ex) {
    failed = true;
    cause = ex;
  }

  if (failed || response.getResponseCode() != 0 ) {
    throw new RuntimeException(String.format("Failed to execute command '%s', errorMsg = '%s'",
        query, (response != null ? response.getErrorMessage() : "")), cause);
  }
}
 
Example 4
public void execHiveSQLwithOverlay(final String sqlStmt,
    final String userName, Map<String, String> overLay) throws Exception {
  final HiveConf hiveConf = new HiveConf();
  for (Map.Entry<String, String> entry : overLay.entrySet()) {
    hiveConf.set(entry.getKey(), entry.getValue());
  }
  UserGroupInformation clientUgi = UserGroupInformation
      .createRemoteUser(userName);
  clientUgi.doAs(new PrivilegedExceptionAction<Object>() {
    @Override
    public Void run() throws Exception {
      Driver driver = new Driver(hiveConf, userName);
      SessionState.start(new CliSessionState(hiveConf));
      CommandProcessorResponse cpr = driver.run(sqlStmt);
      if (cpr.getResponseCode() != 0) {
        throw new IOException("Failed to execute \"" + sqlStmt
            + "\". Driver returned " + cpr.getResponseCode() + " Error: "
            + cpr.getErrorMessage());
      }
      driver.close();
      SessionState.get().close();
      return null;
    }
  });
}
 
Example 5
Source Project: atlas   Source File: ImpalaLineageITBase.java    License: Apache License 2.0 5 votes vote down vote up
protected void runCommandWithDelay(Driver driver, String cmd, int sleepMs) throws Exception {
    LOG.debug("Running command '{}'", cmd);
    CommandProcessorResponse response = driver.run(cmd);
    assertEquals(response.getResponseCode(), 0);
    if (sleepMs != 0) {
        Thread.sleep(sleepMs);
    }
}
 
Example 6
Source Project: atlas   Source File: HiveITBase.java    License: Apache License 2.0 5 votes vote down vote up
protected void runCommandWithDelay(Driver driver, String cmd, int sleepMs) throws Exception {
    LOG.debug("Running command '{}'", cmd);

    CommandProcessorResponse response = driver.run(cmd);

    assertEquals(response.getResponseCode(), 0);

    if (sleepMs != 0) {
        Thread.sleep(sleepMs);
    }
}
 
Example 7
Source Project: incubator-atlas   Source File: HiveITBase.java    License: Apache License 2.0 5 votes vote down vote up
protected void runCommandWithDelay(Driver driver, String cmd, int sleepMs) throws Exception {
    LOG.debug("Running command '{}'", cmd);
    ss.setCommandType(null);
    CommandProcessorResponse response = driver.run(cmd);
    assertEquals(response.getResponseCode(), 0);
    if (sleepMs != 0) {
        Thread.sleep(sleepMs);
    }
}
 
Example 8
Source Project: Kylin   Source File: HiveClient.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * 
 * @param hql
 * @throws CommandNeedRetryException
 * @throws IOException
 */
public void executeHQL(String hql) throws CommandNeedRetryException, IOException {
    CommandProcessorResponse response = getDriver().run(hql);
    int retCode = response.getResponseCode();
    if (retCode != 0) {
        String err = response.getErrorMessage();
        throw new IOException("Failed to execute hql [" + hql + "], error message is: " + err);
    }
}
 
Example 9
Source Project: hudi   Source File: HoodieHiveClient.java    License: Apache License 2.0 2 votes vote down vote up
/**
 * Execute a update in hive using Hive Driver.
 *
 * @param sql SQL statement to execute
 */
public CommandProcessorResponse updateHiveSQLUsingHiveDriver(String sql) {
  List<CommandProcessorResponse> responses = updateHiveSQLs(Collections.singletonList(sql));
  return responses.get(responses.size() - 1);
}