資料倉儲運維技能

👤 bettermen 📦 v1.0.0 ⭐ 4.4 ⬇️ 230 下載
🔒 IT運維與安全 免費

📖 技能介紹


name: data-warehouse-ops description: "資料倉儲(大數據/數倉)全生命週期運維技能。覆蓋單一事實來源定義、ETL/ELT管道構建、維度建模(星型模型/雪花模型/Data Vault)、資料質量檢查、分割槽策略、成本/效能調優、資料治理、血緣追蹤、SLA監控9大模組。支援主流雲數倉(BigQuery/Snowflake/Redshift/Databricks/StarRocks/ClickHouse)和開源工具鏈(dbt/Airflow/Great Expectations/OpenLineage/DataHub)。觸發詞:資料倉儲、數倉、DW、ETL、ELT、維度建模、星型模型、資料質量、分割槽策略、數倉調優、資料治理、血緣追蹤、SLA監控、數倉運維、資料管道、data warehouse、dimensional modeling、data quality、data lineage。" agent_created: true


資料倉儲運維技能 (Data Warehouse Operations)

資料倉儲全生命週期運維助手,覆蓋從架構設計到日常監控的完整工作流。

模組索引

本技能包含 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

工作流程

當用戶提出數倉相關需求時,按以下流程執行:

Phase 0: 需求識別與路由

  1. 分析使用者輸入,識別屬於哪個/哪些模組
  2. 如果涉及多個模組,按依賴順序排列(先建模→再ETL→再質量→再調優→再監控)
  3. 確認目標數倉平臺(BigQuery/Snowflake/Redshift/StarRocks/ClickHouse/Databricks/其他)

Phase 1: 架構設計與建模(模組1-3)

單一事實來源 (SSOT) 定義: - 識別業務域的核心實體(客戶/產品/訂單/供應商等) - 為每個實體定義權威資料來源和 golden record 標準 - 輸出 SSOT 矩陣:實體 → 源系統 → 主鍵 → 更新頻率 → 資料Owner - 載入 references/governance_framework.md 獲取 SSOT 設計模板

維度建模: - 使用 scripts/dim_model_generator.py 生成 DDL - 支援星型模型(預設)、雪花模型、Data Vault 2.0 - 自動生成:事實表 + 維度表 + 代理鍵 + SCD Type 1/2/3 策略 - 指定引數:--schema star|snowflake|vault --scd-type 2 --platform bigquery - 載入 references/dimensional_modeling.md 瞭解建模最佳實踐

ETL/ELT 管道設計: - 使用 scripts/etl_pipeline_builder.py 生成管道模板 - 支援 dbt/Airflow/自定義 SQL 三種輸出格式 - 包含增量載入、CDC、錯誤處理、重試邏輯 - 載入 references/sql_templates.md 獲取標準 SQL 模式

Phase 2: 資料質量與治理(模組4, 7)

資料質量檢查: - 使用 scripts/data_quality_checker.py 生成檢查規則 - 覆蓋 6 大質量維度:完整性、唯一性、有效性、一致性、及時性、準確性 - 輸出 Great Expectations suite YAML 或純 SQL 檢查指令碼 - 載入 references/data_quality_rules.md 獲取預製規則模板

資料治理: - 載入 references/governance_framework.md - 定義資料域、資料Owner、資料管家角色 - 建立資料分類分級策略(公開/內部/機密/絕密) - 制定資料保留和歸檔策略

Phase 3: 效能與成本最佳化(模組5-6)

分割槽策略設計: - 使用 scripts/partition_advisor.py 分析表結構並推薦分割槽方案 - 輸入:表 DDL + 查詢模式描述 - 輸出:平臺特定的 PARTITION BY / CLUSTER BY 語句 - 載入 references/partition_strategies.md 瞭解各平臺差異

成本/效能調優: - 使用 scripts/cost_optimizer.py 分析查詢成本 - 識別:全表掃描、笛卡爾積、資料傾斜、低效 JOIN - 輸出:最佳化建議(物化檢視、聚簇鍵調整、謂詞下推) - 生成互動式 HTML 成本分析報告 (assets/cost_report.html)

Phase 4: 血緣與監控(模組8-9)

血緣追蹤: - 使用 scripts/lineage_parser.py 解析 SQL 提取列級血緣 - 支援:INSERT...SELECT、CREATE TABLE AS、VIEW、MERGE - 輸出:DOT 格式圖 + 互動式 HTML 視覺化 (assets/lineage_visualizer.html)

SLA 監控: - 使用 scripts/sla_monitor.py 生成監控儀表板 - 監控指標:資料新鮮度、管道執行時長、失敗率、資料量波動 - 輸出:HTML 儀表板 (assets/sla_dashboard.html) - 載入 references/sla_templates.md 瞭解 SLA 定義標準

指令碼使用方法

所有指令碼位於 scripts/ 目錄,用 Python 3.9+ 執行。

dim_model_generator.py — 維度建模 DDL 生成器

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: 輸出目錄

data_quality_checker.py — 資料質量檢查引擎

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: 輸出目錄

partition_advisor.py — 分割槽策略推薦器

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: 輸出目錄

cost_optimizer.py — 成本最佳化分析器

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: 輸出目錄

lineage_parser.py — SQL 血緣解析器

python scripts/lineage_parser.py \
  --sql-dir sql/ \
  --output lineage/

引數說明: - --sql-dir: 包含 SQL 檔案的目錄 - --sql-file: 單個 SQL 檔案(與 --sql-dir 二選一) - --output: 輸出目錄 - --level: 血緣級別 table(預設) | column

sla_monitor.py — SLA 監控儀表板生成器

python scripts/sla_monitor.py \
  --config sla_config.yaml \
  --pipeline-runs runs.csv \
  --output dashboard/

引數說明: - --config: SLA 配置檔案 - --pipeline-runs: 管道執行歷史資料 - --output: 輸出目錄

etl_pipeline_builder.py — ETL 管道模板生成器

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、事實表、維度表、資料湖、湖倉一體

小蔥技能站7w4.net,專業的AI技能分享平臺。

英文觸發詞: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

當用戶訊息包含以上任一關鍵詞且涉及設計/構建/最佳化/檢查/監控操作時,啟用本技能。

🤖 AI 評測

這個技能功能覆蓋範圍廣,從資料建模到監控告警都包含了,文件和參考資料也比較豐富。程式碼結構清晰,容易上手,多個平臺都支援。不足之處是一些細節功能還不夠完善,比如錯誤處理和自動化程度有提升空間,整體質量中上水平,適合需要搭建數倉運維能力但又不希望從零開始的團隊使用。

📊 多維度評分

適應性4.6
規範性4.1
有效性4.5
可靠性4.3
可信度4.8

📁 包含檔案 (20 個)

📄 SKILL.md 11.4 KB
📄 _meta.json 137 B
📄 assets/cost_report.html 6.5 KB
📄 assets/lineage_visualizer.html 5.3 KB
📄 assets/quality_dashboard.html 5.5 KB
📄 assets/sla_dashboard.html 6 KB
📄 references/data_quality_rules.md 5 KB
📄 references/dimensional_modeling.md 5.2 KB
📄 references/governance_framework.md 5.7 KB
📄 references/partition_strategies.md 6.1 KB
📄 references/sla_templates.md 6.1 KB
📄 references/sql_templates.md 5.2 KB
📄 scripts/cost_optimizer.py 19.8 KB
📄 scripts/data_quality_checker.py 17.6 KB
📄 scripts/dim_model_generator.py 21.9 KB
📄 scripts/etl_pipeline_builder.py 15.8 KB
📄 scripts/lineage_parser.py 18.9 KB
📄 scripts/partition_advisor.py 20.1 KB
📄 scripts/sla_monitor.py 19.1 KB
📄 skill-card.md 2.9 KB