airflow.providers.databricks.operators.databricks_sql

此模块包含 Databricks 操作符。

模块内容

DatabricksSqlOperator

在 Databricks SQL 端点或 Databricks 集群中执行 SQL 代码。

DatabricksCopyIntoOperator

在 Databricks SQL 端点或 Databricks 集群中执行 COPY INTO 命令。

属性

COPY_INTO_APPROVED_FORMATS

class airflow.providers.databricks.operators.databricks_sql.DatabricksSqlOperator(*, databricks_conn_id=DatabricksSqlHook.default_conn_name, http_path=None, sql_endpoint_name=None, session_configuration=None, http_headers=None, catalog=None, schema=None, output_path=None, output_format='csv', csv_params=None, client_parameters=None, **kwargs)[source]

基类: airflow.providers.common.sql.operators.sql.SQLExecuteQueryOperator

在 Databricks SQL 端点或 Databricks 集群中执行 SQL 代码。

另请参阅

有关如何使用此操作符的更多信息,请参阅指南:DatabricksSqlOperator

参数
  • databricks_conn_id (str) – 对 Databricks 连接 ID 的引用 (已模板化)

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

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

  • sql – 要执行的 SQL 代码,可以是单个字符串,也可以是字符串列表(SQL 语句),也可以是对模板文件的引用。(已模板化)模板引用由以 '.sql' 结尾的字符串识别

  • parameters – (可选)用于呈现 SQL 查询的参数。

  • session_configuration – 可选的 Spark 会话参数字典。默认为 None。如果未指定,则可以在 Databricks 连接的额外参数中指定。

  • client_parameters (dict[str, Any] | None) – Databricks SQL Connector 参数内部的附加参数

  • http_headers (list[tuple[str, str]] | None) – 一个可选的 (k, v) 对列表,将在每个请求上设置为 HTTP 标头。(已模板化)

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

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

  • output_path (str | None) – 可选字符串,指定将选择的数据写入的文件。(已模板化)

  • output_format (str) – 如果指定 output_path` ,则输出数据的格式。 可能的值为 ``csv``jsonjsonl。默认值为 csv

  • csv_params (dict[str, Any] | None) – 将传递给 csv.DictWriter 类的用于写入 CSV 数据的参数。

template_fields: collections.abc.Sequence[str][source]
template_ext: collections.abc.Sequence[str] = ('.sql',)[source]
template_fields_renderers: ClassVar[dict][source]
conn_id_field = 'databricks_conn_id'[source]
get_db_hook()[source]

获取连接的数据库钩子。

返回

数据库钩子对象。

返回类型

airflow.providers.databricks.hooks.databricks_sql.DatabricksSqlHook

airflow.providers.databricks.operators.databricks_sql.COPY_INTO_APPROVED_FORMATS = ['CSV', 'JSON', 'AVRO', 'ORC', 'PARQUET', 'TEXT', 'BINARYFILE'][source]
class airflow.providers.databricks.operators.databricks_sql.DatabricksCopyIntoOperator(*, table_name, file_location, file_format, databricks_conn_id=DatabricksSqlHook.default_conn_name, http_path=None, sql_endpoint_name=None, session_configuration=None, http_headers=None, client_parameters=None, catalog=None, schema=None, files=None, pattern=None, expression_list=None, credential=None, storage_credential=None, encryption=None, format_options=None, force_copy=None, copy_options=None, validate=None, **kwargs)[source]

基类: airflow.models.BaseOperator

在 Databricks SQL 端点或 Databricks 集群中执行 COPY INTO 命令。

COPY INTO 命令由各个部分构成,这些部分在文档中进行了描述。

另请参阅

有关如何使用此运算符的更多信息,请查看指南:DatabricksCopyIntoOperator

参数
  • table_name (str) – 表的必需名称。(已模板化)

  • file_location (str) – 要导入的文件的必需位置。(已模板化)

  • file_format (str) – 必需的文件格式。支持的格式为 CSVJSONAVROORCPARQUETTEXTBINARYFILE

  • databricks_conn_id (str) – 对 Databricks 连接 ID 的引用 (已模板化)

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

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

  • session_configuration – 可选的 Spark 会话参数字典。默认为 None。如果未指定,则可以在 Databricks 连接的额外参数中指定。

  • http_headers (list[tuple[str, str]] | None) – 一个可选的 (k, v) 对列表,它将在每个请求上设置为 HTTP 标头

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

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

  • client_parameters (dict[str, Any] | None) – Databricks SQL Connector 参数内部的附加参数

  • files (list[str] | None) – 要导入的可选文件列表。不能与 pattern 一起指定。(已模板化)

  • pattern (str | None) – 用于匹配要导入的文件名的可选正则表达式字符串。不能与 files 一起指定。

  • expression_list (str | None) – 将在 SELECT 表达式中使用的可选字符串。

  • credential (dict[str, str] | None) – 用于针对源位置进行身份验证的可选凭据配置。

  • storage_credential (str | None) – 用于目标的可选 Unity Catalog 存储凭据。

  • encryption (dict[str, str] | None) – 指定位置的可选加密配置。

  • format_options (dict[str, str] | None) – 具有特定于给定文件格式的选项的可选字典。

  • force_copy (bool | None) – 用于控制强制数据导入的可选布尔值(也可以在 copy_options 中指定)。

  • validate (bool | int | None) – 用于模式和数据验证的可选配置。True 强制验证所有行,整数 - 仅验证前 N 行

  • copy_options (dict[str, str] | None) – 可选的复制选项字典。目前仅支持 force 选项。

template_fields: collections.abc.Sequence[str] = ('file_location', 'files', 'table_name', 'databricks_conn_id')[source]
execute(context)[source]

在创建运算符时派生。

上下文是与渲染 jinja 模板时使用的相同的字典。

有关更多上下文,请参阅 get_template_context。

on_kill()[source]

覆盖此方法以在任务实例被终止时清理子进程。

在运算符中使用 threading、subprocess 或 multiprocessing 模块的任何操作都需要清理,否则会留下无用的进程。

此条目是否有帮助?