airflow.providers.teradata.hooks.teradata

用于与 Teradata SQL Server 交互的 Airflow Hook。

属性

PARAM_TYPES

TeradataHook

用于与 Teradata SQL 数据库交互的通用 Hook。

模块内容

airflow.providers.teradata.hooks.teradata.PARAM_TYPES[源码]
class airflow.providers.teradata.hooks.teradata.TeradataHook(*args, database=None, **kwargs)[源码]

基类: airflow.providers.common.sql.hooks.sql.DbApiHook

用于与 Teradata SQL 数据库交互的通用 Hook。

此模块包含连接和与 Teradata SQL 数据库交互的基本 API。它内部使用 teradatasql 客户端作为数据库驱动程序来连接 Teradata 数据库。Teradata DB Server URL、用户名、密码和数据库名称等配置参数从预定义的连接配置 connection_id 中获取。如果给定的连接 ID 不存在,则会引发 airflow 错误。

您也可以在连接的 extra 字段中指定 ssl 参数,例如 {"sslmode": "require", "sslcert": "/path/to/cert.pem", etc}

参数:
  • args – 传递给 DbApiHook

  • database (str | None) – 要连接的 Teradata 数据库。

  • kwargs – 传递给 DbApiHook

conn_name_attr = 'teradata_conn_id'[源码]
default_conn_name = 'teradata_default'[源码]
supports_autocommit = True[源码]
supports_executemany = True[源码]
conn_type = 'teradata'[源码]
hook_name = 'Teradata'[源码]
placeholder: str = '?'[源码]

返回 SQL placeholder。

get_conn()[源码]

使用 teradatasql 客户端创建并返回一个 Teradata Connection 对象。

使用与 teradata_conn_id 对应的配置建立与 Teradata SQL 数据库的连接。

返回:

一个 Teradata connection object

返回类型:

teradatasql.TeradataConnection

set_query_band(query_band_text, teradata_conn)[源码]

为每个 connection session 设置 SESSION Query Band。

get_sqlalchemy_engine(engine_kwargs=None)[源码]

使用 sqlalchemy 返回一个 connection object。

static get_ui_field_behaviour()[源码]

返回自定义字段行为。

callproc(identifier, autocommit=False, parameters=None)[源码]

调用由提供的字符串标识的 stored procedure。

任何 OUT 参数必须提供预期 Python 类型(例如,int)的值或该类型的实例。

参数:
  • identifier (str) – stored procedure 名称

  • autocommit (bool) – 在执行查询之前要将连接的 autocommit 设置为什么。

  • parameters (list | dict | None) – Teradata stored procedure 的 INOUTINOUT 参数

返回值是一个列表或映射,包含双向参数;实际的返回类型取决于提供的 parameters 参数的类型。

此条目有帮助吗?