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 互動。
您可以在連線的額外資訊欄位中指定 sqlalchemy-drill 將用於與 Drill 通訊的 SQLAlchemy 方言和驅動程式,例如
{"dialect_driver": "drill+sadrill"}
以透過 Drill 的 REST API 進行通訊。 有關支援的方言和驅動程式的描述,請參閱 sqlalchemy-drill 文件。您可以使用額外資訊欄位指定 sqlalchemy-drill 連線的預設 storage_plugin,例如
{"storage_plugin": "dfs"}
。- abstract insert_rows(table, rows, target_fields=None, commit_every=1000, replace=False, **kwargs)[原始碼]¶
將 tuple 集合插入表格。
資料列以區塊方式插入,每個區塊(大小為
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 – 在執行查詢之前,要將連線的自動提交設定為何。