airflow.providers.apache.hive.operators.hive_stats

模組內容

類別

HiveStatsCollectionOperator

收集分割區統計資訊並將其插入 MySQL。

class airflow.providers.apache.hive.operators.hive_stats.HiveStatsCollectionOperator(*, table, partition, extra_exprs=None, excluded_columns=None, assignment_func=None, metastore_conn_id='metastore_default', presto_conn_id='presto_default', mysql_conn_id='airflow_db', ds='{{ ds }}', dttm='{{ logical_date.isoformat() }}', **kwargs)[原始碼]

基底類別: airflow.models.BaseOperator

收集分割區統計資訊並將其插入 MySQL。

統計資訊透過動態產生的 Presto 查詢收集,並以此格式插入。如果您重新執行相同的日期/分割區,統計資訊將會覆寫自身。

CREATE TABLE hive_stats (
    ds VARCHAR(16),
    table_name VARCHAR(500),
    metric VARCHAR(200),
    value BIGINT
);
參數
  • metastore_conn_id (str) – 參照 Hive Metastore 連線 ID

  • table (str) – 來源表,格式為 database.table_name。(已套用 Jinja 模板)

  • partition (Any) – 來源分割區。(已套用 Jinja 模板)

  • extra_exprs (dict[str, Any] | None) – 要對表執行的運算式字典,其中鍵為指標名稱,值為 Presto 相容的運算式

  • excluded_columns (list[str] | None) – 要排除的欄位列表,考慮排除 blobs、大型 json 欄位等…

  • assignment_func (Callable[[str, str], dict[Any, Any] | None] | None) – 一個函式,接收欄位名稱和類型,並傳回指標名稱和 Presto 運算式的字典。如果傳回 None,則套用全域預設值。如果傳回空字典,則不會為該欄位計算任何統計資訊。

template_fields: collections.abc.Sequence[str] = ('table', 'partition', 'ds', 'dttm')[原始碼]
ui_color = '#aff7a6'[原始碼]
get_default_exprs(col, col_type)[原始碼]

取得預設運算式。

execute(context)[原始碼]

在建立運算子時衍生。

Context 是與呈現 Jinja 模板時使用的相同字典。

有關更多上下文,請參閱 get_template_context。

此條目是否有幫助?