airflow.providers.qubole.operators.qubole_check

模組內容

類別

QuboleCheckOperator

針對 Qubole 命令執行檢查。

QuboleValueCheckOperator

使用 Qubole 命令執行簡單的值檢查。

函數

get_sql_from_qbol_cmd(params)

從 Qubole 命令取得 Qubole sql。

handle_airflow_exception(airflow_exception, hook)

Qubole 檢查處理 Airflow 例外。

class airflow.providers.qubole.operators.qubole_check.QuboleCheckOperator(*, qubole_conn_id='qubole_default', results_parser_callable=None, **kwargs)[source]

基底類別: _QuboleCheckOperatorMixinairflow.providers.common.sql.operators.sql.SQLCheckOperatorairflow.providers.qubole.operators.qubole.QuboleOperator

針對 Qubole 命令執行檢查。

QuboleCheckOperator 預期在 QDS 上執行的命令。預設情況下,此 Qubole 命令結果的第一列上的每個值都會使用 python bool 轉換進行評估。如果任何值傳回 False,則檢查失敗並發生錯誤。

請注意,Python bool 轉換將以下內容評估為 False

  • False

  • 0

  • 空字串 ("")

  • 空列表 ([])

  • 空字典或集合 ({})

給定類似 SELECT COUNT(*) FROM foo 的查詢,只有在計數 == 0 時才會失敗。您可以製作更複雜的查詢,例如,檢查表格的列數是否與上游來源表格的列數相同,或者今天的分割區計數是否大於昨天的分割區計數,或者一組指標是否小於 7 天平均值的 3 個標準差。

此運算子可用於您管線中的資料品質檢查,並且根據您將其放置在 DAG 中的位置,您可以選擇停止關鍵路徑,防止發布可疑資料,或在側邊接收電子郵件警報,而不會停止 DAG 的進度。

另請參閱

有關如何使用此運算子的更多資訊,請參閱指南: 執行檢查

參數
  • qubole_conn_id (str) – 連線 ID,其中包含 qds auth_token

  • results_parser_callable (Callable | None) – 這是一個可選參數,用於擴展使用者解析 Qubole 命令結果的彈性。這是一個 Python 可調用物件,可以保存解析 Qubole 命令傳回的列列表的邏輯。預設情況下,僅使用第一列上的值來執行檢查。此可調用物件應傳回要對其執行檢查的記錄列表。

kwargs

Qubole 命令特定的引數可以從 QuboleOperator 文件中參考。

注意

與 QuboleOperator 和 SQLCheckOperator 的範本欄位共用的所有欄位都支援範本。

conn_id_field = 'qubole_conn_id'[source]
template_fields: Sequence[str][source]
template_ext[source]
ui_fgcolor = '#000'[source]
class airflow.providers.qubole.operators.qubole_check.QuboleValueCheckOperator(*, pass_value, tolerance=None, results_parser_callable=None, qubole_conn_id='qubole_default', **kwargs)[source]

基底類別: _QuboleCheckOperatorMixinairflow.providers.common.sql.operators.sql.SQLValueCheckOperatorairflow.providers.qubole.operators.qubole.QuboleOperator

使用 Qubole 命令執行簡單的值檢查。

預設情況下,此 Qubole 命令第一列上的每個值都會與預先定義的值進行比較。如果命令的輸出不在預期值的允許限制範圍內,則檢查失敗並發生錯誤。

參數
  • qubole_conn_id (str) – 連線 ID,其中包含 qds auth_token

  • pass_value (str | int | float) – 查詢結果的預期值。

  • tolerance (int | float | None) – 定義允許的 pass_value 範圍,例如,如果 tolerance 為 2,則 Qubole 命令輸出可以是 -2*pass_value 和 2*pass_value 之間的任何值,而運算子不會出錯。

  • results_parser_callable (Callable | None) – 這是一個可選參數,用於擴展使用者解析 Qubole 命令結果的彈性。這是一個 Python 可調用物件,可以保存解析 Qubole 命令傳回的列列表的邏輯。預設情況下,僅使用第一列上的值來執行檢查。此可調用物件應傳回要對其執行檢查的記錄列表。

kwargs

Qubole 命令特定的引數可以從 QuboleOperator 文件中參考。

注意

與 QuboleOperator 和 SQLValueCheckOperator 的範本欄位共用的所有欄位都支援範本。

template_fields[source]
template_ext[source]
ui_fgcolor = '#000'[source]
conn_id_field = 'qubole_conn_id'[source]
airflow.providers.qubole.operators.qubole_check.get_sql_from_qbol_cmd(params)[source]

從 Qubole 命令取得 Qubole sql。

airflow.providers.qubole.operators.qubole_check.handle_airflow_exception(airflow_exception, hook)[source]

Qubole 檢查處理 Airflow 例外。

此條目是否有幫助?