Hive 宏

以下宏可在 Jinja2 模板中使用。在模板中使用它们时,需要在它们前面加上 hive 前缀 - 例如 hive.closest_ds_partition

airflow.providers.apache.hive.macros.hive.closest_ds_partition(table, ds, before=True, schema='default', metastore_conn_id='metastore_default')[源代码]

在列表中查找最接近目标日期的日期。

可以提供一个可选参数来获取之前或之后最接近的日期。

参数
  • table – Hive 表名

  • ds – 日期戳 %Y-%m-%d 例如 yyyy-mm-dd

  • before – 最接近 ds 之前的日期 (True)、之后的日期 (False) 或任一侧的日期

  • schema – 表模式

  • metastore_conn_id – 使用哪个元存储连接

返回值

最接近的日期

返回类型

str | None

>>> tbl = "airflow.static_babynames_partitioned"
>>> closest_ds_partition(tbl, "2015-01-02")
'2015-01-01'
airflow.providers.apache.hive.macros.hive.max_partition(table, schema='default', field=None, filter_map=None, metastore_conn_id='metastore_default')[源代码]

获取表的最大分区。

参数
  • schema – 表所在的 Hive 模式

  • table – 您感兴趣的 Hive 表,支持“my_database.my_table”中的点符号,如果找到点,则忽略 schema 参数

  • metastore_conn_id – 您感兴趣的 Hive 连接。如果设置了默认值,则不需要使用此参数。

  • filter_map – 用于分区过滤的 partition_key:partition_value 映射,例如 {‘key1’: ‘value1’, ‘key2’: ‘value2’}。只有匹配所有 partition_key:partition_value 对的分区才会被视为最大分区的候选分区。

  • field – 获取最大值的字段。如果只有一个分区字段,则会推断出该字段

>>> max_partition("airflow.static_babynames_partitioned")
'2015-01-01'

此条目有帮助吗?