airflow.providers.amazon.aws.operators.athena

Module Contents

Classes

AthenaOperator

An operator that submits a presto query to athena.

class airflow.providers.amazon.aws.operators.athena.AthenaOperator(*, query, database, output_location, aws_conn_id='aws_default', client_request_token=None, workgroup='primary', query_execution_context=None, result_configuration=None, sleep_time=30, max_polling_attempts=None, log_query=True, **kwargs)[source]

Bases: airflow.models.BaseOperator

An operator that submits a presto query to athena.

See also

For more information on how to use this operator, take a look at the guide: Run a query in Amazon 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 | None) – 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[str, str] | None) – Context in which query need to be run

  • result_configuration (dict[str, Any] | None) – 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_polling_attempts (int | None) – Number of times to poll for query state before function exits To limit task execution time, use execution_timeout.

  • log_query (bool) – Whether to log athena query and other execution params when it’s executed. Defaults to True.

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

Create and return an AthenaHook.

execute(context)[source]

Run Presto Query on Athena

on_kill()[source]

Cancel the submitted athena query

Was this entry helpful?