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 – 最接近之前 (True)、之後 (False) 或 ds 的任一側
schema – 表格綱要
metastore_conn_id – 要使用的 Metastore 連線 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'