def create_exec_result(time_taken, result_data, query): exec_result = HiveQueryResult(query) if result_data: LOG.debug('Data:\n%s\n' % result_data) exec_result.data = result_data exec_result.time_taken = time_taken exec_result.success = True return exec_result
def create_exec_result(time_taken, result_data): exec_result = HiveQueryResult() if result_data: LOG.debug('Data:\n%s\n' % result_data) exec_result.data = result_data exec_result.time_taken = time_taken exec_result.success = True return exec_result
def run_query_capture_results(cmd, query, exit_on_error): """ Runs the given query command and returns the execution result. Takes in a match function that is used to parse stderr/stdout to extract the results. """ exec_result = HiveQueryResult(query) start_time = datetime.now() try: rc, stdout, stderr = exec_process(cmd) except Exception, e: LOG.error('Error while executing query command: %s' % e) exec_result.query_error = str(e) # TODO: Should probably save the start time and query string for failed queries. return exec_result
def execute_using_hive_hs2(query, query_config): exec_result = HiveQueryResult(query, query_config=query_config) plugin_runner = query_config.plugin_runner cursor = getattr(threading.current_thread(), 'cursor', None) if cursor is None: cursor = get_hs2_hive_cursor(query_config.hiveserver, user=query_config.user, database=query.db, use_kerberos=query_config.use_kerberos, execOptions=query_config.exec_options) threading.current_thread().cursor = cursor if cursor is None: return exec_result if plugin_runner: plugin_runner.run_plugins_pre(scope="Query") try: exec_result.start_time, start = datetime.now(), time() cursor.execute(query.query_str) exec_result.data = cursor.fetchall() exec_result.time_taken = time() - start exec_result.success = True except Exception as e: LOG.error(str(e)) exec_result.query_error = str(e) finally: if plugin_runner: plugin_runner.run_plugins_post(scope="Query") return exec_result