ccgx-workflow 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -5
- package/README.zh-CN.md +35 -5
- package/dist/cli.mjs +1 -1
- package/dist/index.mjs +2 -2
- package/dist/shared/{ccgx-workflow.WgUzkiC3.mjs → ccgx-workflow.SJPbUy5_.mjs} +17 -110
- package/package.json +2 -1
- package/templates/commands/agents/phase-runner.md +321 -321
- package/templates/commands/autonomous.md +792 -792
- package/templates/commands/cancel.md +132 -132
- package/templates/commands/debug.md +226 -226
- package/templates/commands/status.md +206 -206
- package/templates/commands/team.md +484 -0
- package/templates/hooks/ccg-session-state.cjs +510 -510
- package/templates/scripts/ccg-phase-runner-launcher.mjs +467 -467
- package/templates/scripts/invoke-model.mjs +64 -0
- package/templates/skills/domains/ai/SKILL.md +35 -35
- package/templates/skills/domains/ai/agent-dev.md +242 -242
- package/templates/skills/domains/ai/llm-security.md +288 -288
- package/templates/skills/domains/ai/rag-system.md +542 -542
- package/templates/skills/domains/architecture/SKILL.md +43 -43
- package/templates/skills/domains/architecture/api-design.md +225 -225
- package/templates/skills/domains/architecture/cloud-native.md +285 -285
- package/templates/skills/domains/architecture/security-arch.md +297 -297
- package/templates/skills/domains/data-engineering/SKILL.md +208 -208
- package/templates/skills/domains/development/SKILL.md +47 -47
- package/templates/skills/domains/development/cpp.md +246 -246
- package/templates/skills/domains/development/go.md +323 -323
- package/templates/skills/domains/development/java.md +277 -277
- package/templates/skills/domains/development/python.md +288 -288
- package/templates/skills/domains/development/rust.md +313 -313
- package/templates/skills/domains/development/shell.md +313 -313
- package/templates/skills/domains/development/typescript.md +277 -277
- package/templates/skills/domains/devops/SKILL.md +40 -40
- package/templates/skills/domains/devops/database.md +217 -217
- package/templates/skills/domains/devops/devsecops.md +198 -198
- package/templates/skills/domains/devops/git-workflow.md +181 -181
- package/templates/skills/domains/devops/testing.md +283 -283
- package/templates/skills/domains/frontend-design/SKILL.md +244 -244
- package/templates/skills/domains/frontend-design/claymorphism/SKILL.md +121 -121
- package/templates/skills/domains/frontend-design/component-patterns.md +202 -202
- package/templates/skills/domains/frontend-design/glassmorphism/SKILL.md +142 -142
- package/templates/skills/domains/frontend-design/liquid-glass/SKILL.md +139 -139
- package/templates/skills/domains/frontend-design/neubrutalism/SKILL.md +145 -145
- package/templates/skills/domains/frontend-design/state-management.md +680 -680
- package/templates/skills/domains/frontend-design/ui-aesthetics.md +110 -110
- package/templates/skills/domains/frontend-design/ux-principles.md +156 -156
- package/templates/skills/domains/infrastructure/SKILL.md +201 -201
- package/templates/skills/domains/mobile/SKILL.md +225 -225
- package/templates/skills/domains/orchestration/SKILL.md +30 -30
- package/templates/skills/domains/orchestration/multi-agent.md +228 -228
- package/templates/skills/domains/security/SKILL.md +73 -73
- package/templates/skills/domains/security/blue-team.md +436 -436
- package/templates/skills/domains/security/code-audit.md +265 -265
- package/templates/skills/domains/security/pentest.md +226 -226
- package/templates/skills/domains/security/red-team.md +374 -374
- package/templates/skills/domains/security/threat-intel.md +372 -372
- package/templates/skills/domains/security/vuln-research.md +369 -369
- package/templates/skills/tools/lib/shared.js +98 -98
- package/templates/skills/tools/override-refusal/SKILL.md +53 -53
- package/templates/skills/tools/override-refusal/scripts/refusal_rewriter.js +226 -226
|
@@ -1,208 +1,208 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: data-engineering
|
|
3
|
-
description: 数据工程(Airflow/Dagster/Kafka/Flink/dbt、数据管道、ETL、流处理、数据质量)。
|
|
4
|
-
license: MIT
|
|
5
|
-
user-invocable: false
|
|
6
|
-
disable-model-invocation: false
|
|
7
|
-
context: fork
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 数据工程域 · Data Engineering
|
|
11
|
-
|
|
12
|
-
## 域概览
|
|
13
|
-
|
|
14
|
-
数据工程域涵盖数据管道编排、流式处理、数据质量保障三大核心领域。
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
数据管道层 流处理层 质量保障层
|
|
18
|
-
├── Airflow (调度编排) ├── Kafka Streams ├── Great Expectations
|
|
19
|
-
├── Dagster (资产管理) ├── Flink ├── dbt
|
|
20
|
-
└── Prefect (现代工作流) └── Spark Streaming └── Soda Core
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## 数据管道编排
|
|
26
|
-
|
|
27
|
-
### 框架对比
|
|
28
|
-
|
|
29
|
-
| 特性 | Airflow | Dagster | Prefect |
|
|
30
|
-
|------|---------|---------|---------|
|
|
31
|
-
| 核心模型 | DAG + Task | Asset + Op | Flow + Task |
|
|
32
|
-
| 学习曲线 | 陡峭 | 中等 | 平缓 |
|
|
33
|
-
| 资产管理 | 无 | 原生支持 | 无 |
|
|
34
|
-
| 动态任务 | 支持 | 支持 | 支持 |
|
|
35
|
-
| 本地开发 | 复杂 | 简单 | 简单 |
|
|
36
|
-
| 社区生态 | 最大 | 成长中 | 成长中 |
|
|
37
|
-
|
|
38
|
-
### Airflow 核心模式
|
|
39
|
-
|
|
40
|
-
- DAG 定义:`with DAG(dag_id, schedule, default_args) as dag`
|
|
41
|
-
- TaskFlow API:`@task` 装饰器,自动 XCom 传递
|
|
42
|
-
- 动态任务:`@task` + `.expand()` 实现 dynamic task mapping
|
|
43
|
-
- Operators:PythonOperator / BashOperator / SQL / HTTP / S3
|
|
44
|
-
- Sensors:FileSensor / HttpSensor / ExternalTaskSensor
|
|
45
|
-
- 重试策略:`retries=3, retry_delay=timedelta(minutes=5), retry_exponential_backoff=True`
|
|
46
|
-
- 失败回调:`on_failure_callback` 发送告警
|
|
47
|
-
- SLA 监控:`sla=timedelta(hours=2)` + `sla_miss_callback`
|
|
48
|
-
|
|
49
|
-
### Dagster 核心模式
|
|
50
|
-
|
|
51
|
-
- Asset 定义:`@asset(group_name, deps)` 声明数据资产
|
|
52
|
-
- MaterializeResult:返回元数据(行数、预览等)
|
|
53
|
-
- Resources:`ConfigurableResource` 管理外部连接
|
|
54
|
-
- Jobs:`define_asset_job(selection=AssetSelection.groups(...))`
|
|
55
|
-
- Schedules:`ScheduleDefinition(job, cron_schedule)`
|
|
56
|
-
- Sensors:`@sensor(job)` 监听外部事件触发
|
|
57
|
-
- Partitions:`DailyPartitionsDefinition` 按日分区
|
|
58
|
-
- Asset Checks:`@asset_check` 验证数据新鲜度/质量
|
|
59
|
-
|
|
60
|
-
### Prefect 核心模式
|
|
61
|
-
|
|
62
|
-
- Flow/Task:`@flow` + `@task(retries=3, cache_key_fn=task_input_hash)`
|
|
63
|
-
- 并发:`ConcurrentTaskRunner` + `task.map(items)`
|
|
64
|
-
- Deployments:`Deployment.build_from_flow(schedule=CronSchedule(...))`
|
|
65
|
-
- Blocks:`Secret` / `JSON` 管理配置和密钥
|
|
66
|
-
|
|
67
|
-
### 调度策略 Checklist
|
|
68
|
-
|
|
69
|
-
- [ ] Cron 表达式正确(`0 2 * * *` 日批 / `*/15 * * * *` 实时)
|
|
70
|
-
- [ ] 事件驱动:文件到达 / S3 / API 触发
|
|
71
|
-
- [ ] 跨 DAG 依赖:ExternalTaskSensor / Asset deps
|
|
72
|
-
- [ ] 幂等性:UPSERT / 分区覆盖写入
|
|
73
|
-
- [ ] 增量处理:`WHERE updated_at > last_run`
|
|
74
|
-
- [ ] 数据血缘:Dagster 原生 / Airflow Lineage / dbt ref()
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
## 流式处理
|
|
79
|
-
|
|
80
|
-
### 框架对比
|
|
81
|
-
|
|
82
|
-
| 特性 | Kafka Streams | Flink | Spark Streaming |
|
|
83
|
-
|------|---------------|-------|-----------------|
|
|
84
|
-
| 部署模式 | 嵌入式(JVM) | 独立集群 | 独立集群 |
|
|
85
|
-
| 状态管理 | RocksDB | 内存/RocksDB | 内存 |
|
|
86
|
-
| Exactly-Once | 支持 | 支持 | 支持 |
|
|
87
|
-
| 窗口类型 | 丰富 | 最丰富 | 基础 |
|
|
88
|
-
| 学习曲线 | 平缓 | 陡峭 | 中等 |
|
|
89
|
-
| Python API | kafka-python | PyFlink | PySpark |
|
|
90
|
-
|
|
91
|
-
### Kafka Streams 核心模式
|
|
92
|
-
|
|
93
|
-
- 拓扑构建:`StreamsBuilder` → `stream()` → `filter/map/flatMap` → `to()`
|
|
94
|
-
- 聚合:`groupByKey().count()` / `.aggregate()` / `.reduce()`
|
|
95
|
-
- Join:Stream-Stream(时间窗口)/ Stream-Table / Table-Table
|
|
96
|
-
- 状态存储:`Stores.persistentKeyValueStore` + Transformer
|
|
97
|
-
- Exactly-Once:`PROCESSING_GUARANTEE_CONFIG = EXACTLY_ONCE_V2`
|
|
98
|
-
- 性能调优:`NUM_STREAM_THREADS=4` / `CACHE_MAX_BYTES_BUFFERING` / RocksDB 配置
|
|
99
|
-
|
|
100
|
-
### Flink 核心模式
|
|
101
|
-
|
|
102
|
-
- DataStream API:`env.addSource()` → `filter/map` → `addSink()`
|
|
103
|
-
- 窗口类型:
|
|
104
|
-
- 滚动窗口 `TumblingProcessingTimeWindows.of(Time.minutes(5))`
|
|
105
|
-
- 滑动窗口 `SlidingProcessingTimeWindows.of(size, slide)`
|
|
106
|
-
- 会话窗口 `ProcessingTimeSessionWindows.withGap(gap)`
|
|
107
|
-
- 全局窗口 `GlobalWindows.create()` + 自定义 Trigger
|
|
108
|
-
- 窗口聚合:`aggregate(AggregateFunction, WindowFunction)` 增量+全窗口
|
|
109
|
-
- ProcessFunction:低级 API,访问时间戳、注册定时器
|
|
110
|
-
- 状态管理:ValueState / ListState / MapState + TTL 清理
|
|
111
|
-
- Checkpoint:`env.enableCheckpointing(60000)` + EXACTLY_ONCE
|
|
112
|
-
- Savepoint:`flink run -s /path/to/savepoint`
|
|
113
|
-
- 时间语义:Event Time + Watermark(`forBoundedOutOfOrderness`)
|
|
114
|
-
- 延迟数据:`allowedLateness()` + `sideOutputLateData()`
|
|
115
|
-
- 数据倾斜:添加随机前缀打散 key
|
|
116
|
-
|
|
117
|
-
### 流处理 Checklist
|
|
118
|
-
|
|
119
|
-
- [ ] 选择时间语义:Event Time vs Processing Time
|
|
120
|
-
- [ ] Watermark 策略:乱序容忍度设置
|
|
121
|
-
- [ ] 窗口类型匹配业务场景
|
|
122
|
-
- [ ] 状态 TTL 防止无限增长
|
|
123
|
-
- [ ] Checkpoint 间隔和超时配置
|
|
124
|
-
- [ ] Exactly-Once 语义端到端保证
|
|
125
|
-
- [ ] 背压监控和处理
|
|
126
|
-
- [ ] 并行度调优
|
|
127
|
-
|
|
128
|
-
---
|
|
129
|
-
|
|
130
|
-
## 数据质量
|
|
131
|
-
|
|
132
|
-
### 质量维度
|
|
133
|
-
|
|
134
|
-
```
|
|
135
|
-
完整性(非空) → 准确性(范围) → 一致性(关联) → 及时性(新鲜度) → 有效性(格式)
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
### 工具对比
|
|
139
|
-
|
|
140
|
-
| 工具 | 优势 | 适用场景 |
|
|
141
|
-
|------|------|----------|
|
|
142
|
-
| Great Expectations | 丰富 Expectations、Data Docs | Python 生态、复杂验证 |
|
|
143
|
-
| dbt | SQL 原生、血缘追踪 | 数据仓库、转换测试 |
|
|
144
|
-
| Soda Core | 简洁 YAML 配置 | 快速验证、CI/CD |
|
|
145
|
-
|
|
146
|
-
### Great Expectations 核心模式
|
|
147
|
-
|
|
148
|
-
- Data Context:`gx.get_context()` → 添加数据源 → 构建批次
|
|
149
|
-
- 常用 Expectations:
|
|
150
|
-
- `expect_table_row_count_to_be_between(min, max)`
|
|
151
|
-
- `expect_column_values_to_not_be_null(column)`
|
|
152
|
-
- `expect_column_values_to_be_unique(column)`
|
|
153
|
-
- `expect_column_values_to_be_between(column, min, max)`
|
|
154
|
-
- `expect_column_values_to_be_in_set(column, value_set)`
|
|
155
|
-
- `expect_column_values_to_match_regex(column, regex)`
|
|
156
|
-
- Checkpoints:批量运行验证 + 生成 Data Docs
|
|
157
|
-
- 自定义 Expectation:继承 `ColumnMapExpectation`
|
|
158
|
-
|
|
159
|
-
### dbt 测试核心模式
|
|
160
|
-
|
|
161
|
-
- Schema 测试:`unique` / `not_null` / `accepted_values` / `relationships`
|
|
162
|
-
- Generic 测试:`{% test name(model, column_name, params) %}`
|
|
163
|
-
- Singular 测试:`tests/` 目录下自定义 SQL,返回行 = 失败
|
|
164
|
-
- dbt_expectations 包:`expect_column_mean_to_be_between` / `expect_row_values_to_have_recent_data`
|
|
165
|
-
- 执行:`dbt test` / `dbt test --select model` / `dbt test --store-failures`
|
|
166
|
-
- 血缘:`{{ ref('model') }}` + `{{ source('schema', 'table') }}` → `dbt docs generate`
|
|
167
|
-
|
|
168
|
-
### Soda Core 核心模式
|
|
169
|
-
|
|
170
|
-
```yaml
|
|
171
|
-
checks for table_name:
|
|
172
|
-
- row_count > 100
|
|
173
|
-
- missing_count(column) = 0
|
|
174
|
-
- duplicate_count(column) = 0
|
|
175
|
-
- invalid_count(column) = 0:
|
|
176
|
-
valid format: email
|
|
177
|
-
- freshness(timestamp_col) < 1d
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
### 数据质量 Checklist
|
|
181
|
-
|
|
182
|
-
- [ ] 分层验证:源数据 → 转换后 → 目标数据
|
|
183
|
-
- [ ] 完整性:必需列非空、无空字符串
|
|
184
|
-
- [ ] 准确性:数值范围、格式正则、逻辑一致
|
|
185
|
-
- [ ] 一致性:跨表主键匹配、值一致
|
|
186
|
-
- [ ] 及时性:数据新鲜度 < 阈值
|
|
187
|
-
- [ ] 唯一性:主键/业务键无重复
|
|
188
|
-
- [ ] 质量指标:完整性/唯一性/有效性加权评分
|
|
189
|
-
- [ ] 告警:指标低于阈值自动通知(Slack/Email/PagerDuty)
|
|
190
|
-
- [ ] 持续监控:定时执行质量检查
|
|
191
|
-
|
|
192
|
-
---
|
|
193
|
-
|
|
194
|
-
## 最佳实践
|
|
195
|
-
|
|
196
|
-
| 实践 | 说明 |
|
|
197
|
-
|------|------|
|
|
198
|
-
| 幂等性设计 | UPSERT / 分区覆盖,重跑不产生副作用 |
|
|
199
|
-
| 增量处理 | 基于时间戳/CDC 增量提取,减少全量扫描 |
|
|
200
|
-
| 数据血缘 | dbt ref() / Dagster Asset deps 追踪上下游 |
|
|
201
|
-
| 分层验证 | 源→转换→目标每层都验证 |
|
|
202
|
-
| 监控告警 | 管道 SLA + 质量指标 + 延迟告警 |
|
|
203
|
-
| 状态管理 | 流处理状态 TTL + Checkpoint + Savepoint |
|
|
204
|
-
| 容错设计 | 重试策略 + 死信队列 + 回滚方案 |
|
|
205
|
-
|
|
206
|
-
## 触发词
|
|
207
|
-
|
|
208
|
-
数据管道、Airflow、Dagster、Prefect、ETL、流处理、Kafka Streams、Flink、数据质量、Great Expectations、dbt、数据验证、数据血缘
|
|
1
|
+
---
|
|
2
|
+
name: data-engineering
|
|
3
|
+
description: 数据工程(Airflow/Dagster/Kafka/Flink/dbt、数据管道、ETL、流处理、数据质量)。
|
|
4
|
+
license: MIT
|
|
5
|
+
user-invocable: false
|
|
6
|
+
disable-model-invocation: false
|
|
7
|
+
context: fork
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 数据工程域 · Data Engineering
|
|
11
|
+
|
|
12
|
+
## 域概览
|
|
13
|
+
|
|
14
|
+
数据工程域涵盖数据管道编排、流式处理、数据质量保障三大核心领域。
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
数据管道层 流处理层 质量保障层
|
|
18
|
+
├── Airflow (调度编排) ├── Kafka Streams ├── Great Expectations
|
|
19
|
+
├── Dagster (资产管理) ├── Flink ├── dbt
|
|
20
|
+
└── Prefect (现代工作流) └── Spark Streaming └── Soda Core
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 数据管道编排
|
|
26
|
+
|
|
27
|
+
### 框架对比
|
|
28
|
+
|
|
29
|
+
| 特性 | Airflow | Dagster | Prefect |
|
|
30
|
+
|------|---------|---------|---------|
|
|
31
|
+
| 核心模型 | DAG + Task | Asset + Op | Flow + Task |
|
|
32
|
+
| 学习曲线 | 陡峭 | 中等 | 平缓 |
|
|
33
|
+
| 资产管理 | 无 | 原生支持 | 无 |
|
|
34
|
+
| 动态任务 | 支持 | 支持 | 支持 |
|
|
35
|
+
| 本地开发 | 复杂 | 简单 | 简单 |
|
|
36
|
+
| 社区生态 | 最大 | 成长中 | 成长中 |
|
|
37
|
+
|
|
38
|
+
### Airflow 核心模式
|
|
39
|
+
|
|
40
|
+
- DAG 定义:`with DAG(dag_id, schedule, default_args) as dag`
|
|
41
|
+
- TaskFlow API:`@task` 装饰器,自动 XCom 传递
|
|
42
|
+
- 动态任务:`@task` + `.expand()` 实现 dynamic task mapping
|
|
43
|
+
- Operators:PythonOperator / BashOperator / SQL / HTTP / S3
|
|
44
|
+
- Sensors:FileSensor / HttpSensor / ExternalTaskSensor
|
|
45
|
+
- 重试策略:`retries=3, retry_delay=timedelta(minutes=5), retry_exponential_backoff=True`
|
|
46
|
+
- 失败回调:`on_failure_callback` 发送告警
|
|
47
|
+
- SLA 监控:`sla=timedelta(hours=2)` + `sla_miss_callback`
|
|
48
|
+
|
|
49
|
+
### Dagster 核心模式
|
|
50
|
+
|
|
51
|
+
- Asset 定义:`@asset(group_name, deps)` 声明数据资产
|
|
52
|
+
- MaterializeResult:返回元数据(行数、预览等)
|
|
53
|
+
- Resources:`ConfigurableResource` 管理外部连接
|
|
54
|
+
- Jobs:`define_asset_job(selection=AssetSelection.groups(...))`
|
|
55
|
+
- Schedules:`ScheduleDefinition(job, cron_schedule)`
|
|
56
|
+
- Sensors:`@sensor(job)` 监听外部事件触发
|
|
57
|
+
- Partitions:`DailyPartitionsDefinition` 按日分区
|
|
58
|
+
- Asset Checks:`@asset_check` 验证数据新鲜度/质量
|
|
59
|
+
|
|
60
|
+
### Prefect 核心模式
|
|
61
|
+
|
|
62
|
+
- Flow/Task:`@flow` + `@task(retries=3, cache_key_fn=task_input_hash)`
|
|
63
|
+
- 并发:`ConcurrentTaskRunner` + `task.map(items)`
|
|
64
|
+
- Deployments:`Deployment.build_from_flow(schedule=CronSchedule(...))`
|
|
65
|
+
- Blocks:`Secret` / `JSON` 管理配置和密钥
|
|
66
|
+
|
|
67
|
+
### 调度策略 Checklist
|
|
68
|
+
|
|
69
|
+
- [ ] Cron 表达式正确(`0 2 * * *` 日批 / `*/15 * * * *` 实时)
|
|
70
|
+
- [ ] 事件驱动:文件到达 / S3 / API 触发
|
|
71
|
+
- [ ] 跨 DAG 依赖:ExternalTaskSensor / Asset deps
|
|
72
|
+
- [ ] 幂等性:UPSERT / 分区覆盖写入
|
|
73
|
+
- [ ] 增量处理:`WHERE updated_at > last_run`
|
|
74
|
+
- [ ] 数据血缘:Dagster 原生 / Airflow Lineage / dbt ref()
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## 流式处理
|
|
79
|
+
|
|
80
|
+
### 框架对比
|
|
81
|
+
|
|
82
|
+
| 特性 | Kafka Streams | Flink | Spark Streaming |
|
|
83
|
+
|------|---------------|-------|-----------------|
|
|
84
|
+
| 部署模式 | 嵌入式(JVM) | 独立集群 | 独立集群 |
|
|
85
|
+
| 状态管理 | RocksDB | 内存/RocksDB | 内存 |
|
|
86
|
+
| Exactly-Once | 支持 | 支持 | 支持 |
|
|
87
|
+
| 窗口类型 | 丰富 | 最丰富 | 基础 |
|
|
88
|
+
| 学习曲线 | 平缓 | 陡峭 | 中等 |
|
|
89
|
+
| Python API | kafka-python | PyFlink | PySpark |
|
|
90
|
+
|
|
91
|
+
### Kafka Streams 核心模式
|
|
92
|
+
|
|
93
|
+
- 拓扑构建:`StreamsBuilder` → `stream()` → `filter/map/flatMap` → `to()`
|
|
94
|
+
- 聚合:`groupByKey().count()` / `.aggregate()` / `.reduce()`
|
|
95
|
+
- Join:Stream-Stream(时间窗口)/ Stream-Table / Table-Table
|
|
96
|
+
- 状态存储:`Stores.persistentKeyValueStore` + Transformer
|
|
97
|
+
- Exactly-Once:`PROCESSING_GUARANTEE_CONFIG = EXACTLY_ONCE_V2`
|
|
98
|
+
- 性能调优:`NUM_STREAM_THREADS=4` / `CACHE_MAX_BYTES_BUFFERING` / RocksDB 配置
|
|
99
|
+
|
|
100
|
+
### Flink 核心模式
|
|
101
|
+
|
|
102
|
+
- DataStream API:`env.addSource()` → `filter/map` → `addSink()`
|
|
103
|
+
- 窗口类型:
|
|
104
|
+
- 滚动窗口 `TumblingProcessingTimeWindows.of(Time.minutes(5))`
|
|
105
|
+
- 滑动窗口 `SlidingProcessingTimeWindows.of(size, slide)`
|
|
106
|
+
- 会话窗口 `ProcessingTimeSessionWindows.withGap(gap)`
|
|
107
|
+
- 全局窗口 `GlobalWindows.create()` + 自定义 Trigger
|
|
108
|
+
- 窗口聚合:`aggregate(AggregateFunction, WindowFunction)` 增量+全窗口
|
|
109
|
+
- ProcessFunction:低级 API,访问时间戳、注册定时器
|
|
110
|
+
- 状态管理:ValueState / ListState / MapState + TTL 清理
|
|
111
|
+
- Checkpoint:`env.enableCheckpointing(60000)` + EXACTLY_ONCE
|
|
112
|
+
- Savepoint:`flink run -s /path/to/savepoint`
|
|
113
|
+
- 时间语义:Event Time + Watermark(`forBoundedOutOfOrderness`)
|
|
114
|
+
- 延迟数据:`allowedLateness()` + `sideOutputLateData()`
|
|
115
|
+
- 数据倾斜:添加随机前缀打散 key
|
|
116
|
+
|
|
117
|
+
### 流处理 Checklist
|
|
118
|
+
|
|
119
|
+
- [ ] 选择时间语义:Event Time vs Processing Time
|
|
120
|
+
- [ ] Watermark 策略:乱序容忍度设置
|
|
121
|
+
- [ ] 窗口类型匹配业务场景
|
|
122
|
+
- [ ] 状态 TTL 防止无限增长
|
|
123
|
+
- [ ] Checkpoint 间隔和超时配置
|
|
124
|
+
- [ ] Exactly-Once 语义端到端保证
|
|
125
|
+
- [ ] 背压监控和处理
|
|
126
|
+
- [ ] 并行度调优
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## 数据质量
|
|
131
|
+
|
|
132
|
+
### 质量维度
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
完整性(非空) → 准确性(范围) → 一致性(关联) → 及时性(新鲜度) → 有效性(格式)
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 工具对比
|
|
139
|
+
|
|
140
|
+
| 工具 | 优势 | 适用场景 |
|
|
141
|
+
|------|------|----------|
|
|
142
|
+
| Great Expectations | 丰富 Expectations、Data Docs | Python 生态、复杂验证 |
|
|
143
|
+
| dbt | SQL 原生、血缘追踪 | 数据仓库、转换测试 |
|
|
144
|
+
| Soda Core | 简洁 YAML 配置 | 快速验证、CI/CD |
|
|
145
|
+
|
|
146
|
+
### Great Expectations 核心模式
|
|
147
|
+
|
|
148
|
+
- Data Context:`gx.get_context()` → 添加数据源 → 构建批次
|
|
149
|
+
- 常用 Expectations:
|
|
150
|
+
- `expect_table_row_count_to_be_between(min, max)`
|
|
151
|
+
- `expect_column_values_to_not_be_null(column)`
|
|
152
|
+
- `expect_column_values_to_be_unique(column)`
|
|
153
|
+
- `expect_column_values_to_be_between(column, min, max)`
|
|
154
|
+
- `expect_column_values_to_be_in_set(column, value_set)`
|
|
155
|
+
- `expect_column_values_to_match_regex(column, regex)`
|
|
156
|
+
- Checkpoints:批量运行验证 + 生成 Data Docs
|
|
157
|
+
- 自定义 Expectation:继承 `ColumnMapExpectation`
|
|
158
|
+
|
|
159
|
+
### dbt 测试核心模式
|
|
160
|
+
|
|
161
|
+
- Schema 测试:`unique` / `not_null` / `accepted_values` / `relationships`
|
|
162
|
+
- Generic 测试:`{% test name(model, column_name, params) %}`
|
|
163
|
+
- Singular 测试:`tests/` 目录下自定义 SQL,返回行 = 失败
|
|
164
|
+
- dbt_expectations 包:`expect_column_mean_to_be_between` / `expect_row_values_to_have_recent_data`
|
|
165
|
+
- 执行:`dbt test` / `dbt test --select model` / `dbt test --store-failures`
|
|
166
|
+
- 血缘:`{{ ref('model') }}` + `{{ source('schema', 'table') }}` → `dbt docs generate`
|
|
167
|
+
|
|
168
|
+
### Soda Core 核心模式
|
|
169
|
+
|
|
170
|
+
```yaml
|
|
171
|
+
checks for table_name:
|
|
172
|
+
- row_count > 100
|
|
173
|
+
- missing_count(column) = 0
|
|
174
|
+
- duplicate_count(column) = 0
|
|
175
|
+
- invalid_count(column) = 0:
|
|
176
|
+
valid format: email
|
|
177
|
+
- freshness(timestamp_col) < 1d
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### 数据质量 Checklist
|
|
181
|
+
|
|
182
|
+
- [ ] 分层验证:源数据 → 转换后 → 目标数据
|
|
183
|
+
- [ ] 完整性:必需列非空、无空字符串
|
|
184
|
+
- [ ] 准确性:数值范围、格式正则、逻辑一致
|
|
185
|
+
- [ ] 一致性:跨表主键匹配、值一致
|
|
186
|
+
- [ ] 及时性:数据新鲜度 < 阈值
|
|
187
|
+
- [ ] 唯一性:主键/业务键无重复
|
|
188
|
+
- [ ] 质量指标:完整性/唯一性/有效性加权评分
|
|
189
|
+
- [ ] 告警:指标低于阈值自动通知(Slack/Email/PagerDuty)
|
|
190
|
+
- [ ] 持续监控:定时执行质量检查
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## 最佳实践
|
|
195
|
+
|
|
196
|
+
| 实践 | 说明 |
|
|
197
|
+
|------|------|
|
|
198
|
+
| 幂等性设计 | UPSERT / 分区覆盖,重跑不产生副作用 |
|
|
199
|
+
| 增量处理 | 基于时间戳/CDC 增量提取,减少全量扫描 |
|
|
200
|
+
| 数据血缘 | dbt ref() / Dagster Asset deps 追踪上下游 |
|
|
201
|
+
| 分层验证 | 源→转换→目标每层都验证 |
|
|
202
|
+
| 监控告警 | 管道 SLA + 质量指标 + 延迟告警 |
|
|
203
|
+
| 状态管理 | 流处理状态 TTL + Checkpoint + Savepoint |
|
|
204
|
+
| 容错设计 | 重试策略 + 死信队列 + 回滚方案 |
|
|
205
|
+
|
|
206
|
+
## 触发词
|
|
207
|
+
|
|
208
|
+
数据管道、Airflow、Dagster、Prefect、ETL、流处理、Kafka Streams、Flink、数据质量、Great Expectations、dbt、数据验证、数据血缘
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: development
|
|
3
|
-
description: 开发语言能力索引(Python/Go/Rust/TypeScript/Java/C++/Shell)。
|
|
4
|
-
license: MIT
|
|
5
|
-
user-invocable: false
|
|
6
|
-
disable-model-invocation: false
|
|
7
|
-
context: fork
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 符箓秘典 · 开发语言能力中枢
|
|
11
|
-
|
|
12
|
-
## 能力矩阵
|
|
13
|
-
|
|
14
|
-
| Skill | 语言 | 核心能力 |
|
|
15
|
-
|-------|------|----------|
|
|
16
|
-
| [python](python.md) | Python | Web框架、数据处理、自动化 |
|
|
17
|
-
| [go](go.md) | Go | 高并发、微服务、云原生 |
|
|
18
|
-
| [rust](rust.md) | Rust | 系统编程、内存安全、高性能 |
|
|
19
|
-
| [typescript](typescript.md) | TS/JS | 前后端、Node.js、React/Vue |
|
|
20
|
-
| [java](java.md) | Java | 企业级、Spring、微服务 |
|
|
21
|
-
| [cpp](cpp.md) | C/C++ | 系统底层、性能优化 |
|
|
22
|
-
| [shell](shell.md) | Bash | 脚本自动化、系统管理 |
|
|
23
|
-
|
|
24
|
-
## 语言选型指南
|
|
25
|
-
|
|
26
|
-
```yaml
|
|
27
|
-
Web 后端:
|
|
28
|
-
- 快速开发: Python (FastAPI/Django)
|
|
29
|
-
- 高性能: Go (Gin/Echo)
|
|
30
|
-
- 企业级: Java (Spring Boot)
|
|
31
|
-
|
|
32
|
-
Web 前端:
|
|
33
|
-
- SPA: TypeScript + React/Vue
|
|
34
|
-
- SSR: Next.js/Nuxt.js
|
|
35
|
-
|
|
36
|
-
系统编程:
|
|
37
|
-
- 内存安全: Rust
|
|
38
|
-
- 传统: C/C++
|
|
39
|
-
|
|
40
|
-
脚本自动化:
|
|
41
|
-
- 通用: Python
|
|
42
|
-
- 系统: Bash/Shell
|
|
43
|
-
|
|
44
|
-
安全工具:
|
|
45
|
-
- 快速原型: Python
|
|
46
|
-
- 高性能: Go/Rust
|
|
47
|
-
```
|
|
1
|
+
---
|
|
2
|
+
name: development
|
|
3
|
+
description: 开发语言能力索引(Python/Go/Rust/TypeScript/Java/C++/Shell)。
|
|
4
|
+
license: MIT
|
|
5
|
+
user-invocable: false
|
|
6
|
+
disable-model-invocation: false
|
|
7
|
+
context: fork
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 符箓秘典 · 开发语言能力中枢
|
|
11
|
+
|
|
12
|
+
## 能力矩阵
|
|
13
|
+
|
|
14
|
+
| Skill | 语言 | 核心能力 |
|
|
15
|
+
|-------|------|----------|
|
|
16
|
+
| [python](python.md) | Python | Web框架、数据处理、自动化 |
|
|
17
|
+
| [go](go.md) | Go | 高并发、微服务、云原生 |
|
|
18
|
+
| [rust](rust.md) | Rust | 系统编程、内存安全、高性能 |
|
|
19
|
+
| [typescript](typescript.md) | TS/JS | 前后端、Node.js、React/Vue |
|
|
20
|
+
| [java](java.md) | Java | 企业级、Spring、微服务 |
|
|
21
|
+
| [cpp](cpp.md) | C/C++ | 系统底层、性能优化 |
|
|
22
|
+
| [shell](shell.md) | Bash | 脚本自动化、系统管理 |
|
|
23
|
+
|
|
24
|
+
## 语言选型指南
|
|
25
|
+
|
|
26
|
+
```yaml
|
|
27
|
+
Web 后端:
|
|
28
|
+
- 快速开发: Python (FastAPI/Django)
|
|
29
|
+
- 高性能: Go (Gin/Echo)
|
|
30
|
+
- 企业级: Java (Spring Boot)
|
|
31
|
+
|
|
32
|
+
Web 前端:
|
|
33
|
+
- SPA: TypeScript + React/Vue
|
|
34
|
+
- SSR: Next.js/Nuxt.js
|
|
35
|
+
|
|
36
|
+
系统编程:
|
|
37
|
+
- 内存安全: Rust
|
|
38
|
+
- 传统: C/C++
|
|
39
|
+
|
|
40
|
+
脚本自动化:
|
|
41
|
+
- 通用: Python
|
|
42
|
+
- 系统: Bash/Shell
|
|
43
|
+
|
|
44
|
+
安全工具:
|
|
45
|
+
- 快速原型: Python
|
|
46
|
+
- 高性能: Go/Rust
|
|
47
|
+
```
|