airflow.contrib.hooks.aws_athena_hook
¶
This module contains AWS Athena hook
Module Contents¶
-
class
airflow.contrib.hooks.aws_athena_hook.
AWSAthenaHook
(aws_conn_id='aws_default', sleep_time=30, *args, **kwargs)[source]¶ Bases:
airflow.contrib.hooks.aws_hook.AwsHook
Interact with AWS Athena to run, poll queries and return query results
- Parameters
-
get_conn
(self)[source]¶ check if aws conn exists already or create one and return it
- Returns
boto3 session
-
run_query
(self, query, query_context, result_configuration, client_request_token=None, workgroup='default')[source]¶ Run Presto query on athena with provided config and return submitted query_execution_id
- Parameters
query (str) – Presto query to run
query_context (dict) – Context in which query need to be run
result_configuration (dict) – Dict with path to store results in and config related to encryption
client_request_token (str) – Unique token created by user to avoid multiple executions of same query
workgroup (str) – Athena workgroup name, when not specified, will be ‘default’
- Returns
str
-
check_query_status
(self, query_execution_id)[source]¶ Fetch the status of submitted athena query. Returns None or one of valid query states.
- Parameters
query_execution_id (str) – Id of submitted athena query
- Returns
str
-
get_state_change_reason
(self, query_execution_id)[source]¶ Fetch the reason for a state change (e.g. error message). Returns None or reason string.
- Parameters
query_execution_id (str) – Id of submitted athena query
- Returns
str
-
get_query_results
(self, query_execution_id)[source]¶ Fetch submitted athena query results. returns none if query is in intermediate state or failed/cancelled state else dict of query output
- Parameters
query_execution_id (str) – Id of submitted athena query
- Returns
dict