airflow.providers.apache.spark.hooks.spark_sql

SparkSqlHook

此 Hook 是 spark-sql 二進位制檔案的包裝器;要求“spark-sql”二進位制檔案位於 PATH 中。

模組內容

class airflow.providers.apache.spark.hooks.spark_sql.SparkSqlHook(sql, conf=None, conn_id=default_conn_name, total_executor_cores=None, executor_cores=None, executor_memory=None, keytab=None, principal=None, master=None, name='default-name', num_executors=None, verbose=True, yarn_queue=None)[source]

基類: airflow.hooks.base.BaseHook

此 Hook 是 spark-sql 二進位制檔案的包裝器;要求“spark-sql”二進位制檔案位於 PATH 中。

引數:
  • sql (str) – 要執行的 SQL 查詢

  • conf (dict[str, Any] | str | None) – 任意 Spark 配置屬性

  • conn_id (str) – connection_id 字串

  • total_executor_cores (int | None) – (僅限於 Standalone & Mesos) 所有執行器的總核心數(預設:worker 上所有可用核心)

  • executor_cores (int | None) – (僅限於 Standalone & YARN) 每個執行器的核心數(預設:2)

  • executor_memory (str | None) – 每個執行器的記憶體(例如 1000M, 2G)(預設:1G)

  • keytab (str | None) – 包含 keytab 檔案的完整路徑

  • master (str | None) – spark://host:port, mesos://host:port, yarn 或 local(預設:Connection 中設定的 host 和 port,或“yarn”)

  • name (str) – 作業名稱。

  • num_executors (int | None) – 要啟動的執行器數量

  • verbose (bool) – 是否將 verbose 標誌傳遞給 spark-sql

  • yarn_queue (str | None) – 要提交到的 YARN 佇列(預設:Connection 中設定的 queue 值,或“default”)

conn_name_attr = 'conn_id'[source]
default_conn_name = 'spark_sql_default'[source]
conn_type = 'spark_sql'[source]
hook_name = 'Spark SQL'[source]
classmethod get_ui_field_behaviour()[source]

返回 Spark SQL 連線的自定義 UI 欄位行為。

classmethod get_connection_form_widgets()[source]

返回要新增到 Spark SQL 連線表單的連線小部件。

get_conn()[source]

返回此 Hook 的連線。

run_query(cmd='', **kwargs)[source]

遠端 Popen(實際執行 Spark-sql 查詢)。

引數:
  • cmd (str) – 要附加到 spark-sql 命令的命令

  • kwargs (Any) – 傳遞給 Popen 的額外引數(參見 subprocess.Popen)

kill()[source]

終止 Spark 作業。

此條目有幫助嗎?