滑雪场数据摄入管道
概述
该管道从滑雪胜地的Microsoft SQL Server数据库中提取运营数据,并以优化的格式将其加载到云存储(MinIO/S3)中,以便进行分析和报告。
将其视为一个自动化过程:
- 连接 访问度假村的运营数据库
- 提取物 每日数据(收入、工资、访问、天气等)
- 变换 将其转换为分析就绪格式
- 负载 它变成了一个用于报告和商业智能的数据湖
______________________________________________________________________
它收集哪些数据?
管道可以提取以下数据类型(称为“过程”或“procs”):
| 数据类型 | 描述 | 业务用途 |
|---|---|---|
| 收入 | 销售和收入指标 | 跟踪每日销售业绩,识别趋势 |
| 工资单 | 每小时员工时间和工资 | 监控合同工的劳动力成本 |
| 工资单 | 带薪员工薪酬 | 跟踪固定人工成本 |
| 工资单历史记录 | 历史工资记录 | 访问淡季工资数据 |
| 预算 | 预算信息 | 比较实际预算与计划预算 |
| 访问 | 访客访问指标 | 了解客流量和出席情况 |
| 天气 | 雪和天气数据 | 将天气与运营/收入相关联 |
您可以选择要提取的数据类型(请参见 配置 在......下面
______________________________________________________________________
运作原理
高级流程
┌─────────────────┐
│ SQL Server DB │ ← Your operational database
│ (MCP Database) │
└────────┬────────┘
│
│ 1. Connect & Extract
│ (Run stored procedures)
▼
┌─────────────────┐
│ Data Pipeline │ ← This script
│ (Python) │
└────────┬────────┘
│
│ 2. Transform & Process
│ (Clean, aggregate, add metadata)
▼
┌─────────────────┐
│ Parquet Files │ ← Temporary local storage
│ (Local) │
└────────┬────────┘
│
│ 3. Upload & Store
│ (Copy to cloud)
▼
┌─────────────────┐
│ MinIO / S3 │ ← Cloud data lake
│ (Object Store) │
└─────────────────┘详细步骤
- 环境设置
- 验证所有必需的配置(数据库凭据、S3详细信息、度假村信息、日期) - 安装必要的软件依赖项(ODBC驱动程序、Python库)
- 日期范围计算
- 用途 DATE_START (必填)以及 DATE_END (可选) - 如果 DATE_END 未提供: - 如果当前UTC时间>=15:00,则使用今天的日期 - 如果当前UTC时间\=活动日历日期): - 跑 payroll (小时)+ payroll_salary 存储过程 - 计算: (hours × rate) + dollar_amount 每个部门 - 合并为聚合 processed_payroll - 历史工资单 (日期\= this use active payroll processing # Dates = 15:00 # - Uses yesterday if UTC time =活动日历日期):
- 跑 payroll (小时)+ payroll_salary 存储过程 - 计算工资: (hours × rate) + dollar_amount - 按部门代码汇总总计 - 将两者结合起来 processed_payroll 输出
- 历史工资单 (日期\=15:00,则使用今天的日期
- 如果UTC时间\=此值,管道使用详细的活动工资单存储过程(小时+工资)。对于小于此值的日期,它使用历史工资单数据。通常设置为当前工资期的开始(例如,当前滑雪季节的开始,如 2024-11-01).
Q: 如果未提供DATE_END,会发生什么? A: 管道会根据当前UTC时间自动确定结束日期。如果是15:00 UTC或更晚,则使用今天的日期。如果在15:00 UTC之前,则使用昨天的日期。这可确保您处理完整的日常数据。
