airflow.providers.apache.drill.hooks.drill
¶
模块内容¶
类¶
通过 sqlalchemy-drill 与 Apache Drill 交互。 |
- class airflow.providers.apache.drill.hooks.drill.DrillHook(*args, schema=None, log_sql=True, **kwargs)[源代码]¶
基类:
airflow.providers.common.sql.hooks.sql.DbApiHook
通过 sqlalchemy-drill 与 Apache Drill 交互。
你可以在连接的 extra 字段中指定 sqlalchemy-drill 将用于与 Drill 通信的 SQLAlchemy 方言和驱动程序,例如,
{"dialect_driver": "drill+sadrill"}
用于通过 Drill 的 REST API 进行通信。有关支持的方言和驱动程序的描述,请参阅 sqlalchemy-drill 文档。你可以使用 extras 字段为 sqlalchemy-drill 连接指定默认的 storage_plugin,例如,
{"storage_plugin": "dfs"}
。- 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,则 fast_executemany 参数将设置在 executemany 使用的游标上,如果驱动程序支持,这将带来更好的性能。
autocommit – 在执行查询之前将连接的 autocommit 设置为什么。