airflow.providers.amazon.aws.hooks.athena¶
此模块包含 AWS Athena Hook。
属性¶
类¶
与 Amazon Athena 交互。 |
函数¶
|
模块内容¶
- class airflow.providers.amazon.aws.hooks.athena.AthenaHook(*args, log_query=True, **kwargs)[source]¶
Bases:
airflow.providers.amazon.aws.hooks.base_aws.AwsBaseHook与 Amazon Athena 交互。
提供对
boto3.client("athena")的完整包装。- 参数:
log_query (bool) – 是否在执行时记录 Athena 查询及其他执行参数。默认值为 True。
可以指定其他参数(例如
aws_conn_id),这些参数会传递给底层的 AwsBaseHook。- run_query(query, query_context, result_configuration, client_request_token=None, workgroup='primary')[source]¶
在 Athena 上使用提供的配置运行 Trino/Presto 查询。
- get_state_change_reason(query_execution_id, use_cache=False)[source]¶
获取状态变化的原因(例如错误信息)。返回 None 或原因字符串。
- 参数:
query_execution_id (str) – 已提交的 Athena 查询的 ID。
- get_query_results_paginator(query_execution_id, max_items=None, page_size=None, starting_token=None)[source]¶
获取已提交的 Athena 查询结果。
- 参数:
- 返回:
None 若查询处于中间、失败或已取消状态。否则返回用于遍历结果页面的分页器。
- 返回类型:
botocore.paginate.PageIterator | None
对返回的分页器调用 :meth`.build_full_result()` 以一次性获取所有结果。
- poll_query_status(query_execution_id, max_polling_attempts=None, sleep_time=None)[source]¶
轮询已提交查询的状态,直至其进入最终状态。