airflow.providers.amazon.aws.operators.athena

Module Contents

class airflow.providers.amazon.aws.operators.athena.AWSAthenaOperator(*, query: str, database: str, output_location: str, aws_conn_id: str = 'aws_default', client_request_token: Optional[str] = None, workgroup: str = 'primary', query_execution_context: Optional[Dict[str, str]] = None, result_configuration: Optional[Dict[str, Any]] = None, sleep_time: int = 30, max_tries: Optional[int] = None, **kwargs)[source]

Bases: airflow.models.BaseOperator

An operator that submits a presto query to athena.

Parameters
  • query (str) -- Presto to be run on athena. (templated)

  • database (str) -- Database to select. (templated)

  • output_location (str) -- s3 path to write the query results into. (templated)

  • aws_conn_id (str) -- aws connection to use

  • client_request_token (str) -- Unique token created by user to avoid multiple executions of same query

  • workgroup (str) -- Athena workgroup in which query will be run

  • query_execution_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

  • sleep_time (int) -- Time (in seconds) to wait between two consecutive calls to check query status on Athena

  • max_tries (int) -- Number of times to poll for query state before function exits

ui_color = #44b5e2[source]
template_fields = ['query', 'database', 'output_location'][source]
template_ext = ['.sql'][source]
hook(self)[source]

Create and return an AWSAthenaHook.

execute(self, context: dict)[source]

Run Presto Query on Athena

on_kill(self)[source]

Cancel the submitted athena query

Was this entry helpful?