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 模組的情況都需要清理,否則會留下幽靈程序。

此條目是否有幫助?