airflow.providers.apache.hive.operators.hive_stats
¶
模块内容¶
类¶
收集分区统计信息并将其插入 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
。(已模板化)partition (Any) – 源分区。(已模板化)
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')[源代码]¶