資料倉儲全生命週期運維助手,覆蓋從架構設計到日常監控的完整工作流。
本技能包含 9 大工作模組和配套的指令碼/參考/資產資源:
| 模組 | 關鍵詞 | 指令碼 | 參考文件 |
|---|---|---|---|
| 1. 單一事實來源 | SSOT, 資料標準 | — | governance_framework.md |
| 2. ETL/ELT 管道 | pipeline, dbt, Airflow | etl_pipeline_builder.py | sql_templates.md |
| 3. 維度建模 | star schema, Kimball | dim_model_generator.py | dimensional_modeling.md |
| 4. 資料質量 | DQ, Great Expectations | data_quality_checker.py | data_quality_rules.md |
| 5. 分割槽策略 | partition, clustering | partition_advisor.py | partition_strategies.md |
| 6. 成本/效能調優 | cost, performance | cost_optimizer.py | partition_strategies.md |
| 7. 資料治理 | governance, catalog | — | governance_framework.md |
| 8. 血緣追蹤 | lineage, OpenLineage | lineage_parser.py | — |
| 9. SLA 監控 | SLA, freshness, uptime | sla_monitor.py | sla_templates.md |
當用戶提出數倉相關需求時,按以下流程執行:
單一事實來源 (SSOT) 定義:
references/governance_framework.md 獲取 SSOT 設計模板維度建模:
scripts/dim_model_generator.py 生成 DDL--schema star|snowflake|vault --scd-type 2 --platform bigqueryreferences/dimensional_modeling.md 瞭解建模最佳實踐發現更多技能外掛,請訪問7w4.net。
ETL/ELT 管道設計:
scripts/etl_pipeline_builder.py 生成管道模板references/sql_templates.md 獲取標準 SQL 模式資料質量檢查:
scripts/data_quality_checker.py 生成檢查規則references/data_quality_rules.md 獲取預製規則模板資料治理:
references/governance_framework.md分割槽策略設計:
scripts/partition_advisor.py 分析表結構並推薦分割槽方案references/partition_strategies.md 瞭解各平臺差異成本/效能調優:
scripts/cost_optimizer.py 分析查詢成本assets/cost_report.html)血緣追蹤:
scripts/lineage_parser.py 解析 SQL 提取列級血緣assets/lineage_visualizer.html)SLA 監控:
scripts/sla_monitor.py 生成監控儀表板assets/sla_dashboard.html)references/sla_templates.md 瞭解 SLA 定義標準所有指令碼位於 scripts/ 目錄,用 Python 3.9+ 執行。
python scripts/dim_model_generator.py \
--business-domain "電商訂單" \
--facts "orders:訂單事實,order_items:訂單明細" \
--dimensions "customer:客戶,dim_product:產品,dim_date:日期,dim_store:門店" \
--schema star \
--scd-type 2 \
--platform snowflake \
--output ddl/
引數說明:
--business-domain: 業務域名稱--facts: 事實表定義,格式 表名:描述--dimensions: 維度表定義,格式 表名:描述--schema: 建模範式 star(預設) | snowflake | vault--scd-type: 緩慢變化維度策略 1 | 2 | 3 | hybrid--platform: 目標平臺 bigquery | snowflake | redshift | starrocks | clickhouse | databricks | postgres--output: 輸出目錄python scripts/data_quality_checker.py \
--table dwh.fact_orders \
--platform bigquery \
--checks "completeness,uniqueness,validity,freshness" \
--format great_expectations \
--threshold-file dq_thresholds.yaml \
--output dq_checks/
引數說明:
--table: 目標表(支援 schema.table 格式)--platform: 目標平臺--checks: 檢查型別,逗號分隔。支援:completeness, uniqueness, validity, consistency, timeliness, accuracy, freshness, volume, custom--format: 輸出格式 great_expectations | sql | dbt_test | soda--threshold-file: 閾值配置檔案(可選)--output: 輸出目錄python scripts/partition_advisor.py \
--ddl-file ddl/fact_orders.sql \
--query-patterns "daily_report,monthly_trend,user_lookup" \
--platform bigquery \
--data-volume "10TB,500M rows" \
--output recommendations/
引數說明:
--ddl-file: 表 DDL 檔案路徑--query-patterns: 查詢模式描述--platform: 目標平臺--data-volume: 資料量級--output: 輸出目錄python scripts/cost_optimizer.py \
--query-log queries.json \
--platform bigquery \
--billing-data billing.csv \
--output optimization_report/
引數說明:
--query-log: 查詢日誌(JSON 格式,含 query_text, bytes_processed, duration)--platform: 目標平臺--billing-data: 賬單資料(可選)--output: 輸出目錄python scripts/lineage_parser.py \
--sql-dir sql/ \
--output lineage/
引數說明:
--sql-dir: 包含 SQL 檔案的目錄--sql-file: 單個 SQL 檔案(與 --sql-dir 二選一)--output: 輸出目錄--level: 血緣級別 table(預設) | columnpython scripts/sla_monitor.py \
--config sla_config.yaml \
--pipeline-runs runs.csv \
--output dashboard/
引數說明:
--config: SLA 配置檔案--pipeline-runs: 管道執行歷史資料--output: 輸出目錄python scripts/etl_pipeline_builder.py \
--source-type mysql \
--target-platform snowflake \
--mode incremental \
--cdc-method timestamp \
--orchestrator airflow \
--output pipelines/
需要深入某個主題時載入對應檔案:
| 檔案 | 內容 | 使用場景 |
|---|---|---|
references/dimensional_modeling.md |
Kimball 四步法、SCD策略、事實表型別、維度設計模式 | 設計維度模型時 |
references/data_quality_rules.md |
6維度質量規則庫、Great Expectations模板、異常檢測規則 | 定義資料質量檢查時 |
references/sql_templates.md |
ETL模式SQL、視窗函式、MERGE/UPSERT、增量載入模板 | 編寫ETL邏輯時 |
references/partition_strategies.md |
各平臺分割槽對比、聚簇策略、分割槽裁剪最佳實踐 | 設計分割槽方案時 |
references/governance_framework.md |
SSOT定義模板、資料域劃分、角色職責、分類分級標準 | 制定治理策略時 |
references/sla_templates.md |
SLA指標定義、新鮮度等級、告警規則模板 | 建立SLA體系時 |
所有視覺化輸出預設生成互動式 HTML 報告(使用 Chart.js + 響應式佈局),包含以下特徵:
根據目標平臺自動調整 SQL 方言:
| 特性 | BigQuery | Snowflake | Redshift | StarRocks | ClickHouse |
|---|---|---|---|---|---|
| 分割槽語法 | PARTITION BY DATE(timestamp) |
自動微分割槽 | DISTKEY+SORTKEY |
PARTITION BY RANGE(dt) |
PARTITION BY toYYYYMM(dt) |
| 增量合併 | MERGE |
MERGE |
MERGE(2023+) |
INSERT OVERWRITE |
ALTER TABLE...UPDATE |
| 物化檢視 | ✅ | ✅ | ✅(2023+) | ✅ 非同步 | ✅ |
| 半結構化 | JSON 型別 |
VARIANT |
SUPER |
JSON 型別 |
JSON 型別 |
| UDF | SQL/JS | SQL/JS/Python/Java | SQL/Python | Java UDF | SQL |
| 成本模型 | 按掃描位元組 | 按 credit | 按節點小時 | 開源免費 | 開源免費 |
中文觸發詞:資料倉儲、數倉、DW、ETL、ELT、維度建模、星型模型、雪花模型、資料質量、分割槽策略、數倉調優、資料治理、血緣追蹤、血緣分析、SLA監控、數倉運維、資料管道、資料新鮮度、物化檢視、緩慢變化維度、SCD、代理鍵、一致性維度、資料目錄、資料管家、golden record、事實表、維度表、資料湖、湖倉一體
英文觸發詞:data warehouse, dimensional modeling, star schema, snowflake schema, data vault, ETL pipeline, ELT pipeline, data quality, DQ checks, partition strategy, data lineage, column lineage, SLA monitoring, data freshness, data governance, data catalog, surrogate key, slowly changing dimension, fact table, dimension table, data mart, data lakehouse
當用戶訊息包含以上任一關鍵詞且涉及設計/構建/最佳化/檢查/監控操作時,啟用本技能。
這個技能功能覆蓋範圍廣,從資料建模到監控告警都包含了,文件和參考資料也比較豐富。程式碼結構清晰,容易上手,多個平臺都支援。不足之處是一些細節功能還不夠完善,比如錯誤處理和自動化程度有提升空間,整體質量中上水平,適合需要搭建數倉運維能力但又不希望從零開始的團隊使用。