Checking Freshness

作者 astronomercbe1141f547b無授權條款451 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫今天更新

Quick data freshness check. Use when the user asks if data is up to date, when a table was last updated, if data is stale, or needs to verify data currency before using it.

僅含說明Data & Analytics
AI 產生的概覽

透過查詢時間戳記欄位檢查資料庫表的資料新鮮度,並回報過期狀態。

功能
此技能引導代理對資料庫表進行資料新鮮度檢查。它會找出時間戳記欄位,執行 SQL 查詢最後更新時間與近期資料列數,並將每個表分類為新鮮、過期、嚴重過期或未知。資料過期時也會建議檢查 Airflow DAG 狀態,並產出易於瀏覽的新鮮度報告。
適用情境
適用於使用者詢問資料是否為最新、資料表上次更新時間,或資料是否過期的情況。也適合在使用資料前確認其時效性,包括為截止期限提供簡明的「是/否」回覆。
執行需求
需要存取受檢查的資料庫,並能執行 SQL 查詢,包括 INFORMATION_SCHEMA。檢查管線狀態需要 Airflow 存取權與 af 命令列工具。此技能未附帶指令碼,僅為說明文件。

Data Freshness Check

Quickly determine if data is fresh enough to use.

Freshness Check Process

For each table to check:

1. Find the Timestamp Column

Look for columns that indicate when data was loaded or updated:

  • _loaded_at, _updated_at, _created_at (common ETL patterns)
  • updated_at, created_at, modified_at (application timestamps)
  • load_date, etl_timestamp, ingestion_time
  • date, event_date, transaction_date (business dates)

Query INFORMATION_SCHEMA.COLUMNS if you need to see column names.

2. Query Last Update Time

sql
SELECT    MAX(<timestamp_column>) as last_update,    CURRENT_TIMESTAMP() as current_time,    TIMESTAMPDIFF('hour', MAX(<timestamp_column>), CURRENT_TIMESTAMP()) as hours_ago,    TIMESTAMPDIFF('minute', MAX(<timestamp_column>), CURRENT_TIMESTAMP()) as minutes_agoFROM <table>

3. Check Row Counts by Time

For tables with regular updates, check recent activity:

sql
SELECT    DATE_TRUNC('day', <timestamp_column>) as day,    COUNT(*) as row_countFROM <table>WHERE <timestamp_column> >= DATEADD('day', -7, CURRENT_DATE())GROUP BY 1ORDER BY 1 DESC

Freshness Status

Report status using this scale:

StatusAgeMeaning
Fresh< 4 hoursData is current
Stale4-24 hoursMay be outdated, check if expected
Very Stale> 24 hoursLikely a problem unless batch job
UnknownNo timestampCan't determine freshness

If Data is Stale

Check Airflow for the source pipeline:

  1. Find the DAG: Which DAG populates this table? Use af dags list and look for matching names.

  2. Check DAG status:

    • Is the DAG paused? Use af dags get <dag_id>
    • Did the last run fail? Use af dags stats
    • Is a run currently in progress?
  3. Diagnose if needed: If the DAG failed, use the debugging-dags skill to investigate.

On Astro

If you're running on Astro, you can also:

  • DAG history in the Astro UI: Check the deployment's DAG run history for a visual timeline of recent runs and their outcomes
  • Astro alerts for SLA monitoring: Configure alerts to get notified when DAGs miss their expected completion windows, catching staleness before users report it

On OSS Airflow

  • Airflow UI: Use the DAGs view and task logs to verify last successful runs and SLA misses

Output Format

Provide a clear, scannable report:

FRESHNESS REPORT================
TABLE: database.schema.table_nameLast Update: 2024-01-15 14:32:00 UTCAge: 2 hours 15 minutesStatus: Fresh
TABLE: database.schema.other_tableLast Update: 2024-01-14 03:00:00 UTCAge: 37 hoursStatus: Very StaleSource DAG: daily_etl_pipeline (FAILED)Action: Investigate with **debugging-dags** skill

Quick Checks

If user just wants a yes/no answer:

  • "Is X fresh?" -> Check and respond with status + one line
  • "Can I use X for my 9am meeting?" -> Check and give clear yes/no with context

來源與署名

來源:astronomer/agents位於skills/checking-freshness提交cbe1141

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架