airflow.providers.databricks.operators.databricks_sql

此模块包含 Databricks 操作符。

属性

COPY_INTO_APPROVED_FORMATS

DatabricksSqlOperator

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

DatabricksCopyIntoOperator

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

模块内容

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`,则表示输出数据的格式。可能的值有 csvjsonjsonl。默认为 csv

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

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]
databricks_conn_id = 'databricks_default'[source]
http_path = None[source]
sql_endpoint_name = None[source]
session_configuration = None[source]
client_parameters[source]
hook_params[source]
http_headers = None[source]
catalog = None[source]
schema = None[source]
get_db_hook()[source]

获取连接的数据库 hook。

返回:

数据库 hook 对象。

返回类型:

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]
files = None[source]
databricks_conn_id = 'databricks_default'[source]
session_config = None[source]
table_name[source]
file_location[source]
execute(context)[source]

创建操作符时派生。

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

请参阅 get_template_context 以获取更多上下文。

on_kill()[source]

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

操作符中任何使用 threading、subprocess 或 multiprocessing 模块的情况都需要清理,否则会留下幽灵进程。

此条目是否有帮助?