airflow.providers.apache.druid.hooks.druid¶
类¶
Druid 摄取类型。可以是原生批量摄取或基于 SQL 的摄取。 |
|
连接到 Druid overlord 进行摄取。 |
|
与 Druid broker 交互。 |
模块内容¶
- class airflow.providers.apache.druid.hooks.druid.IngestionType[源码]¶
基类:
enum.Enum
Druid 摄取类型。可以是原生批量摄取或基于 SQL 的摄取。
- class airflow.providers.apache.druid.hooks.druid.DruidHook(druid_ingest_conn_id='druid_ingest_default', timeout=1, max_ingestion_time=None, verify_ssl=True)[源码]¶
基类:
airflow.hooks.base.BaseHook
连接到 Druid overlord 进行摄取。
要连接到使用 druid-basic-security 扩展保护的 Druid 集群,请将用户名和密码添加到 druid 摄取连接中。
- 参数:
- class airflow.providers.apache.druid.hooks.druid.DruidDbApiHook(context=None, *args, **kwargs)[源码]¶
基类:
airflow.providers.common.sql.hooks.sql.DbApiHook
与 Druid broker 交互。
此 Hook 仅用于用户查询 Druid broker。对于摄取,请使用 druidHook。
- 参数:
context (dict | None) – 传递给 SQL 端点的可选查询上下文参数。示例:
{"sqlFinalizeOuterSketches": True}
参见:https://druid.apache.org/docs/latest/querying/sql-query-context/
- abstract insert_rows(table, rows, target_fields=None, commit_every=1000, replace=False, **kwargs)[源码]¶
将一组元组插入到表中。
行按块插入,每个块(大小为
commit_every
)在一个新事务中完成。- 参数:
table (str) – 目标表的名称
rows (collections.abc.Iterable[tuple[str]]) – 要插入表中的行
target_fields (collections.abc.Iterable[str] | None) – 要填充表中列的名称
commit_every (int) – 在一个事务中插入的最大行数。设置为 0 表示在单个事务中插入所有行。
replace (bool) – 是否替换而不是插入
executemany – 如果为 True,所有行将按由 commit_every 参数定义的块一次插入。这仅在所有行具有相同数量的列名时有效,但能带来更好的性能。
fast_executemany – 如果为 True,由
executemany
使用的光标将设置fast_executemany
参数,如果驱动程序支持,这将带来更好的性能。autocommit – 在执行查询之前,将连接的 autocommit 设置为什么。