airflow.providers.databricks.hooks.databricks_sql

属性

LIST_SQL_ENDPOINTS_ENDPOINT

T

DatabricksSqlHook

用于与 Databricks SQL 交互的 Hook。

函数

create_timeout_thread(cur, execution_timeout)

模块内容

airflow.providers.databricks.hooks.databricks_sql.LIST_SQL_ENDPOINTS_ENDPOINT = ('GET', 'api/2.0/sql/endpoints')[source]
airflow.providers.databricks.hooks.databricks_sql.T[source]
airflow.providers.databricks.hooks.databricks_sql.create_timeout_thread(cur, execution_timeout)[source]
class airflow.providers.databricks.hooks.databricks_sql.DatabricksSqlHook(databricks_conn_id=BaseDatabricksHook.default_conn_name, http_path=None, sql_endpoint_name=None, session_configuration=None, http_headers=None, catalog=None, schema=None, caller='DatabricksSqlHook', **kwargs)[source]

基础类: airflow.providers.databricks.hooks.databricks_base.BaseDatabricksHook, airflow.providers.common.sql.hooks.sql.DbApiHook

用于与 Databricks SQL 交互的 Hook。

参数:
  • databricks_conn_id (str) – 引用 Databricks 连接

  • http_path (str | None) – 可选字符串,指定 Databricks SQL Endpoint 或集群的 HTTP 路径。如果未指定,应在 Databricks 连接的额外参数中指定,或者必须指定 sql_endpoint_name

  • sql_endpoint_name (str | None) – Databricks SQL Endpoint 的可选名称。如果未指定,则必须提供 http_path,如上所述。

  • session_configuration (dict[str, str] | None) – Spark 会话参数的可选字典。默认为 None。如果未指定,可在 Databricks 连接的额外参数中指定。

  • http_headers (list[tuple[str, str]] | None) – 可选的 (k, v) 对列表,将作为 HTTP 头添加到每个请求中

  • catalog (str | None) – 要使用的可选初始目录。需要 DBR 版本 9.0+

  • schema (str | None) – 要使用的可选初始 schema。需要 DBR 版本 9.0+

  • kwargs – Databricks SQL 连接器参数内部的其他参数

hook_name = 'Databricks SQL'[source]
supports_autocommit = True[source]
session_config = None[source]
http_headers = None[source]
catalog = None[source]
schema = None[source]
additional_params[source]
get_conn()[source]

返回一个 Databricks SQL 连接对象。

run(sql: str | collections.abc.Iterable[str], autocommit: bool = ..., parameters: collections.abc.Iterable | collections.abc.Mapping[str, Any] | None = ..., handler: None = ..., split_statements: bool = ..., return_last: bool = ..., execution_timeout: datetime.timedelta | None = None) None[source]
run(sql: str | collections.abc.Iterable[str], autocommit: bool = ..., parameters: collections.abc.Iterable | collections.abc.Mapping[str, Any] | None = ..., handler: Callable[[Any], T] = ..., split_statements: bool = ..., return_last: bool = ..., execution_timeout: datetime.timedelta | None = None) tuple | list[tuple] | list[list[tuple] | tuple] | None

运行命令或命令列表。

将 SQL 语句列表传递给 SQL 参数,使其按顺序执行。

参数:
  • sql – 要执行的 sql 语句 (str) 或要执行的 sql 语句列表

  • autocommit – 在执行查询前要将连接的 autocommit 设置为何值。请注意,目前 Databricks SQL 中没有 commit 功能,因此此标志无效。

  • parameters – 用于渲染 SQL 查询的参数。

  • handler – 结果处理器,将使用每个语句的结果调用它。

  • split_statements – 是否将单个 SQL 字符串拆分成语句并单独运行

  • return_last – 拆分后是仅返回最后一条语句的结果,还是返回所有语句的结果

  • execution_timeout – 此任务实例允许执行的最长时间,如果超过此时间将引发错误并失败。

返回值:

如果提供了 handler 且 return_last 未设置为 False,则仅返回最后一条 SQL 表达式的结果。

abstract bulk_dump(table, tmp_file)[source]

将数据库表转储为制表符分隔文件。

参数:
  • table – 源表的名称

  • tmp_file – 目标文件的路径

abstract bulk_load(table, tmp_file)[source]

将制表符分隔文件加载到数据库表中。

参数:
  • table – 目标表的名称

  • tmp_file – 要加载到表中的文件的路径

此条目是否有帮助?