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)[源代码]

基类: _QuboleCheckOperatorMixin, airflow.providers.common.sql.operators.sql.SQLCheckOperator, airflow.providers.qubole.operators.qubole.QuboleOperator

执行针对 Qubole 命令的检查。

QuboleCheckOperator 期望一个将在 QDS 上执行的命令。默认情况下,此 Qubole 命令结果的第一行中的每个值都使用 python bool 强制转换进行评估。如果任何值返回 False,则检查失败并报错。

请注意,Python 布尔强制转换将以下内容评估为 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'[源代码]
template_fields: Sequence[str][源代码]
template_ext[源代码]
ui_fgcolor = '#000'[源代码]
class airflow.providers.qubole.operators.qubole_check.QuboleValueCheckOperator(*, pass_value, tolerance=None, results_parser_callable=None, qubole_conn_id='qubole_default', **kwargs)[源代码]

基类: _QuboleCheckOperatorMixin, airflow.providers.common.sql.operators.sql.SQLValueCheckOperator, airflow.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 范围,例如,如果容差为 2,则 Qubole 命令输出可以是 -2*pass_value 和 2*pass_value 之间的任何值,而运算符不会出错。

  • results_parser_callable (Callable | None) – 这是一个可选参数,用于扩展将 Qubole 命令的结果解析给用户的灵活性。这是一个 Python 可调用对象,可以保存解析 Qubole 命令返回的行列表的逻辑。默认情况下,仅使用第一行上的值执行检查。此可调用对象应返回要执行检查的记录列表。

kwargs

Qubole 命令的特定参数可以从 QuboleOperator 文档中引用。

注意

与 QuboleOperator 和 SQLValueCheckOperator 的模板字段通用的所有字段都支持模板。

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

从 Qubole 命令获取 Qubole SQL。

airflow.providers.qubole.operators.qubole_check.handle_airflow_exception(airflow_exception, hook)[源代码]

Qubole 检查处理 Airflow 异常。

此条目是否有帮助?