@clickzetta/cz-cli-linux-x64 0.3.2 → 0.3.5

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.
Files changed (118) hide show
  1. package/bin/cz-cli +0 -0
  2. package/package.json +1 -1
  3. package/bin/skills/clickzetta-access-control/SKILL.md +0 -243
  4. package/bin/skills/clickzetta-access-control/references/dynamic-masking.md +0 -86
  5. package/bin/skills/clickzetta-access-control/references/grant-revoke.md +0 -103
  6. package/bin/skills/clickzetta-access-control/references/role-management.md +0 -66
  7. package/bin/skills/clickzetta-access-control/references/user-management.md +0 -61
  8. package/bin/skills/clickzetta-ai-vector-search/SKILL.md +0 -160
  9. package/bin/skills/clickzetta-ai-vector-search/references/vector-search.md +0 -155
  10. package/bin/skills/clickzetta-app-python-sdk/SKILL.md +0 -153
  11. package/bin/skills/clickzetta-app-python-sdk/references/bulkload.md +0 -196
  12. package/bin/skills/clickzetta-app-python-sdk/references/connector.md +0 -143
  13. package/bin/skills/clickzetta-app-python-sdk/references/realtime.md +0 -122
  14. package/bin/skills/clickzetta-batch-sync-pipeline/SKILL.md +0 -293
  15. package/bin/skills/clickzetta-bi-connect/SKILL.md +0 -176
  16. package/bin/skills/clickzetta-bi-connect/references/bi-tools.md +0 -170
  17. package/bin/skills/clickzetta-cdc-sync-pipeline/SKILL.md +0 -450
  18. package/bin/skills/clickzetta-concepts/SKILL.md +0 -282
  19. package/bin/skills/clickzetta-concepts/references/brands-and-endpoints.md +0 -79
  20. package/bin/skills/clickzetta-concepts/references/object-model.md +0 -311
  21. package/bin/skills/clickzetta-data-ingest-pipeline/SKILL.md +0 -165
  22. package/bin/skills/clickzetta-data-lifecycle/SKILL.md +0 -211
  23. package/bin/skills/clickzetta-data-lifecycle/references/lifecycle-reference.md +0 -175
  24. package/bin/skills/clickzetta-data-recovery/SKILL.md +0 -215
  25. package/bin/skills/clickzetta-data-recovery/evals/evals.json +0 -35
  26. package/bin/skills/clickzetta-data-science/SKILL.md +0 -125
  27. package/bin/skills/clickzetta-data-science/references/bitmap-profile.md +0 -146
  28. package/bin/skills/clickzetta-data-science/references/data-patterns.md +0 -110
  29. package/bin/skills/clickzetta-data-science/references/setup.md +0 -160
  30. package/bin/skills/clickzetta-data-science/references/stats-functions.md +0 -195
  31. package/bin/skills/clickzetta-data-science/references/write-and-infer.md +0 -122
  32. package/bin/skills/clickzetta-data-science/references/zettapark-api.md +0 -156
  33. package/bin/skills/clickzetta-data-sharing/SKILL.md +0 -160
  34. package/bin/skills/clickzetta-data-sharing/references/share-ddl.md +0 -134
  35. package/bin/skills/clickzetta-dba-guide/SKILL.md +0 -540
  36. package/bin/skills/clickzetta-dw-modeling/SKILL.md +0 -259
  37. package/bin/skills/clickzetta-dw-modeling/references/modeling-patterns.md +0 -100
  38. package/bin/skills/clickzetta-dynamic-table/SKILL.md +0 -86
  39. package/bin/skills/clickzetta-dynamic-table/best-practices/dimension-table-join-guide.md +0 -257
  40. package/bin/skills/clickzetta-dynamic-table/best-practices/medallion-and-stream-patterns.md +0 -124
  41. package/bin/skills/clickzetta-dynamic-table/best-practices/non-partitioned-merge-into-warning.md +0 -96
  42. package/bin/skills/clickzetta-dynamic-table/best-practices/performance-optimization.md +0 -109
  43. package/bin/skills/clickzetta-dynamic-table/dt-creator/SKILL.md +0 -15
  44. package/bin/skills/clickzetta-dynamic-table/dt-creator/references/dt-declaration-strategy.md +0 -185
  45. package/bin/skills/clickzetta-dynamic-table/dt-creator/references/incremental-config-reference.md +0 -429
  46. package/bin/skills/clickzetta-dynamic-table/dt-creator/references/refresh-history-guide.md +0 -268
  47. package/bin/skills/clickzetta-dynamic-table/dt-creator/references/sql-limitations.md +0 -80
  48. package/bin/skills/clickzetta-dynamic-table/dynamic-table-alter/SKILL.md +0 -190
  49. package/bin/skills/clickzetta-external-catalog/SKILL.md +0 -120
  50. package/bin/skills/clickzetta-external-catalog/references/external-catalog-ddl.md +0 -130
  51. package/bin/skills/clickzetta-external-function/SKILL.md +0 -203
  52. package/bin/skills/clickzetta-external-function/references/external-function-ddl.md +0 -171
  53. package/bin/skills/clickzetta-file-import-pipeline/SKILL.md +0 -117
  54. package/bin/skills/clickzetta-index-manager/SKILL.md +0 -140
  55. package/bin/skills/clickzetta-index-manager/references/bloomfilter-index.md +0 -67
  56. package/bin/skills/clickzetta-index-manager/references/index-management.md +0 -73
  57. package/bin/skills/clickzetta-index-manager/references/inverted-index.md +0 -80
  58. package/bin/skills/clickzetta-index-manager/references/vector-index.md +0 -81
  59. package/bin/skills/clickzetta-information-schema/SKILL.md +0 -367
  60. package/bin/skills/clickzetta-information-schema/references/instance-views-reference.md +0 -276
  61. package/bin/skills/clickzetta-information-schema/references/metering-views-reference.md +0 -137
  62. package/bin/skills/clickzetta-information-schema/references/views-reference.md +0 -271
  63. package/bin/skills/clickzetta-java-sdk/SKILL.md +0 -186
  64. package/bin/skills/clickzetta-java-sdk/references/bulkload.md +0 -163
  65. package/bin/skills/clickzetta-java-sdk/references/realtime.md +0 -212
  66. package/bin/skills/clickzetta-kafka-ingest-pipeline/SKILL.md +0 -531
  67. package/bin/skills/clickzetta-kafka-ingest-pipeline/references/kafka-pipe-syntax.md +0 -186
  68. package/bin/skills/clickzetta-lakehouse-connect/SKILL.md +0 -218
  69. package/bin/skills/clickzetta-lakehouse-connect/evals/evals.json +0 -35
  70. package/bin/skills/clickzetta-lakehouse-connect/references/config-file.md +0 -435
  71. package/bin/skills/clickzetta-lakehouse-connect/references/jdbc.md +0 -478
  72. package/bin/skills/clickzetta-lakehouse-connect/references/python-sdk.md +0 -225
  73. package/bin/skills/clickzetta-lakehouse-connect/references/sqlalchemy.md +0 -468
  74. package/bin/skills/clickzetta-lakehouse-connect/references/zettapark-session.md +0 -445
  75. package/bin/skills/clickzetta-manage-comments/SKILL.md +0 -219
  76. package/bin/skills/clickzetta-metadata-query/SKILL.md +0 -298
  77. package/bin/skills/clickzetta-metadata-query/references/show-desc-reference.md +0 -326
  78. package/bin/skills/clickzetta-monitoring/SKILL.md +0 -199
  79. package/bin/skills/clickzetta-monitoring/references/job-history-analysis.md +0 -97
  80. package/bin/skills/clickzetta-monitoring/references/show-jobs.md +0 -48
  81. package/bin/skills/clickzetta-oss-ingest-pipeline/SKILL.md +0 -402
  82. package/bin/skills/clickzetta-query-optimizer/SKILL.md +0 -156
  83. package/bin/skills/clickzetta-query-optimizer/references/explain.md +0 -56
  84. package/bin/skills/clickzetta-query-optimizer/references/hints-and-sortkey.md +0 -78
  85. package/bin/skills/clickzetta-query-optimizer/references/optimize.md +0 -65
  86. package/bin/skills/clickzetta-query-optimizer/references/result-cache.md +0 -49
  87. package/bin/skills/clickzetta-query-optimizer/references/show-jobs.md +0 -42
  88. package/bin/skills/clickzetta-realtime-sync-pipeline/SKILL.md +0 -197
  89. package/bin/skills/clickzetta-semantic-view/SKILL.md +0 -207
  90. package/bin/skills/clickzetta-semantic-view/references/semantic-view-reference.md +0 -167
  91. package/bin/skills/clickzetta-spark-flink-connector/SKILL.md +0 -92
  92. package/bin/skills/clickzetta-spark-flink-connector/references/flink.md +0 -147
  93. package/bin/skills/clickzetta-spark-flink-connector/references/spark.md +0 -132
  94. package/bin/skills/clickzetta-sql-pipeline-manager/SKILL.md +0 -353
  95. package/bin/skills/clickzetta-sql-pipeline-manager/evals/evals.json +0 -166
  96. package/bin/skills/clickzetta-sql-pipeline-manager/references/dynamic-table.md +0 -173
  97. package/bin/skills/clickzetta-sql-pipeline-manager/references/materialized-view.md +0 -129
  98. package/bin/skills/clickzetta-sql-pipeline-manager/references/pipe.md +0 -160
  99. package/bin/skills/clickzetta-sql-pipeline-manager/references/table-stream.md +0 -123
  100. package/bin/skills/clickzetta-sql-syntax-guide/SKILL.md +0 -172
  101. package/bin/skills/clickzetta-sql-syntax-guide/references/ddl-reference.md +0 -350
  102. package/bin/skills/clickzetta-sql-syntax-guide/references/dml-reference.md +0 -279
  103. package/bin/skills/clickzetta-sql-syntax-guide/references/dql-reference.md +0 -504
  104. package/bin/skills/clickzetta-sql-syntax-guide/references/functions-reference.md +0 -372
  105. package/bin/skills/clickzetta-sql-syntax-guide/references/migration-databricks.md +0 -260
  106. package/bin/skills/clickzetta-sql-syntax-guide/references/migration-snowflake.md +0 -382
  107. package/bin/skills/clickzetta-sql-syntax-guide/references/vs-snowflake.md +0 -346
  108. package/bin/skills/clickzetta-sql-syntax-guide/references/vs-spark.md +0 -229
  109. package/bin/skills/clickzetta-studio-overview/SKILL.md +0 -170
  110. package/bin/skills/clickzetta-studio-overview/references/studio-modules.md +0 -173
  111. package/bin/skills/clickzetta-table-stream-pipeline/SKILL.md +0 -155
  112. package/bin/skills/clickzetta-vcluster-manager/SKILL.md +0 -212
  113. package/bin/skills/clickzetta-vcluster-manager/references/vc-cache.md +0 -54
  114. package/bin/skills/clickzetta-vcluster-manager/references/vcluster-ddl.md +0 -150
  115. package/bin/skills/clickzetta-volume-manager/SKILL.md +0 -249
  116. package/bin/skills/clickzetta-volume-manager/references/volume-ddl.md +0 -194
  117. package/bin/skills/clickzetta-zettapark/SKILL.md +0 -248
  118. package/bin/skills/clickzetta-zettapark/references/zettapark-api.md +0 -283
@@ -1,170 +0,0 @@
1
- ---
2
- name: clickzetta-studio-overview
3
- description: |
4
- ClickZetta Lakehouse Studio 功能全貌概览。Studio 是内置于 Lakehouse 的一站式
5
- Web IDE,集数据开发、任务调度、数据集成、数据目录、数据质量、运维监控六大模块于一体,
6
- 是 ClickZetta 区别于 Snowflake/Databricks 的核心差异化能力(后两者需第三方工具)。
7
- 覆盖:六大模块定位与边界、任务类型(SQL/Python/Shell/JDBC/同步/动态表)、
8
- 任务组 DAG 编排、任务参数(${var} 和 $[时间表达式])、调度配置、
9
- 数据目录(Data Catalog)、数据质量规则六大维度、运维监控告警。
10
- 当用户说"Studio 是什么"、"Studio 有哪些功能"、"Studio 和其他 Lakehouse 的区别"、
11
- "任务调度怎么配"、"DAG 编排"、"任务组"、"任务参数"、"${} 参数怎么用"、
12
- "数据目录"、"数据质量"、"运维监控"、"告警配置"、"补数据"、"任务依赖"时触发。
13
- Keywords: Studio, Web IDE, scheduler, DAG, data catalog, data quality, monitoring
14
- ---
15
-
16
- # ClickZetta Lakehouse Studio 功能概览
17
-
18
- 阅读 [references/studio-modules.md](references/studio-modules.md) 了解各模块详细说明。
19
-
20
- ---
21
-
22
- ## Studio 是什么
23
-
24
- Studio 是 ClickZetta Lakehouse **内置的一站式 Web IDE**,无需安装任何客户端,直接在浏览器中完成从数据接入、开发、调度到运维的全链路操作。
25
-
26
- **这是 ClickZetta 与 Snowflake、Databricks 等产品的核心差异之一**:
27
-
28
- | 能力 | ClickZetta Studio | Snowflake | Databricks |
29
- |---|---|---|---|
30
- | Web SQL 开发 | ✅ 内置 | ✅ Snowsight | ✅ Notebooks |
31
- | 可视化数据集成(无代码同步) | ✅ 内置 30+ 数据源 | ❌ 需第三方 | ❌ 需第三方 |
32
- | 任务调度 + DAG 编排 | ✅ 内置 | ❌ 需第三方 | ❌ 需第三方 |
33
- | 数据目录(Data Catalog) | ✅ 内置 | 部分 | 部分 |
34
- | 数据质量规则 | ✅ 内置 6 维度 | ❌ 需第三方 | ❌ 需第三方 |
35
- | 运维监控 + 告警 | ✅ 内置 | 部分 | 部分 |
36
-
37
- ---
38
-
39
- ## Studio 六大模块
40
-
41
- ### 1. 数据开发(IDE)
42
-
43
- Web 在线 IDE,支持多种任务类型:
44
-
45
- | 任务类型 | 说明 | 使用集群 |
46
- |---|---|---|
47
- | SQL 任务 | 编写 DDL/DML,支持自动补全、结果可视化 | GP 或 AP |
48
- | Python 任务 | SQLAlchemy / ZettaPark 脚本,支持安装依赖 | 不使用 VCluster |
49
- | Shell 任务 | Shell 脚本,支持调用外部命令 | 不使用 VCluster |
50
- | JDBC 任务 | 连接 MySQL/Hive/ClickHouse 等执行 SQL | 不使用 VCluster |
51
- | 动态表任务 | 向导式创建 Dynamic Table,配置刷新周期 | GP 或 AP |
52
- | 数据同步任务 | 无代码配置离线/实时/CDC 同步 | 同步型 VCluster |
53
-
54
- ### 2. 任务调度与编排
55
-
56
- - **周期调度**:Cron 表达式,支持分钟/小时/天/月级别
57
- - **任务依赖**:上下游依赖,支持跨工作空间依赖
58
- - **任务组(DAG)**:可视化拖拽编排,批量管理一组任务
59
- - **补数据**:对历史周期重新触发执行
60
- - **任务参数**:动态变量替换,支持时间表达式
61
-
62
- ### 3. 数据集成(同步任务)
63
-
64
- 内置 30+ 数据源,无代码配置数据同步:
65
-
66
- - **离线同步**:全量/增量,支持整库迁移、Schema Evolution
67
- - **实时同步**(单表):Kafka、MySQL、PostgreSQL 实时写入
68
- - **多表实时 CDC**:整库镜像、分库分表合并,基于 Binlog/WAL
69
-
70
- ### 4. 数据目录(Data Catalog)
71
-
72
- - 全局数据资产搜索(按名称、描述、负责人)
73
- - 表详情:DDL、字段、数据预览(100行)、数据血缘、作业历史
74
- - 可视化创建 Schema/表(内置 DDL 模板)
75
-
76
- ### 5. 数据质量
77
-
78
- 6 大维度质量规则:完整性、唯一性、一致性、准确性、有效性、及时性。
79
-
80
- - 支持定时触发、调度任务触发、手动触发
81
- - 质量规则大盘:覆盖表数、校验通过率、高质量表
82
-
83
- ### 6. 运维监控与告警
84
-
85
- - 任务实例运维:启停、重跑、批量操作
86
- - 内置告警规则:周期任务失败、数据质量失败等
87
- - 自定义告警规则
88
- - 告警通知:飞书/企业微信 webhook
89
-
90
- ---
91
-
92
- ## 任务参数详解
93
-
94
- 任务参数是 Studio 调度的核心能力,实现代码与配置分离。
95
-
96
- ### 参数格式
97
-
98
- ```sql
99
- -- 在 SQL 中使用参数(格式:${参数名})
100
- SELECT * FROM orders
101
- WHERE city = '${city}'
102
- AND dt = '${yesterday}';
103
- ```
104
-
105
- ### 参数赋值方式
106
-
107
- | 赋值类型 | 示例 | 说明 |
108
- |---|---|---|
109
- | 常量 | `Shanghai` | 固定值 |
110
- | 系统内置时间函数 | `$[yyyy-MM-dd, -1d]` | 昨天日期 |
111
- | 系统内置时间函数 | `$[yyyy-MM-dd HH:mm:ss]` | 当前时间 |
112
- | 系统内置时间函数 | `$[yyyyMM, -1M]` | 上月 |
113
- | 系统内置参数 | `sys_plan_datetime` | 任务计划执行时间 |
114
-
115
- ```sql
116
- -- 示例:每天处理前一天数据
117
- SELECT date, SUM(amount)
118
- FROM sales
119
- WHERE dt = '${yesterday}' -- 赋值:$[yyyy-MM-dd, -1d]
120
- GROUP BY date;
121
- ```
122
-
123
- ### 参数作用域
124
-
125
- - **任务参数**:仅当前任务有效
126
- - **任务组参数**:任务组内所有任务共享,任务组提交后生效
127
-
128
- ---
129
-
130
- ## 任务组(DAG)编排
131
-
132
- 任务组是 Studio 的核心调度能力,用于管理有依赖关系的一批任务。
133
-
134
- ```
135
- 任务组(Task Group)
136
- ├── 节点 A:离线同步(MySQL → Lakehouse)
137
- ├── 节点 B:SQL 任务(ODS 清洗) 依赖 A
138
- ├── 节点 C:SQL 任务(DWD 加工) 依赖 B
139
- └── 节点 D:SQL 任务(DWS 聚合) 依赖 C
140
- ```
141
-
142
- **关键限制:**
143
- - 任务组内仅支持周期任务,不支持实时任务
144
- - 一个任务节点只能归属于一个任务组
145
- - 任务组参数需提交后才对任务节点生效
146
- - 跨工作空间依赖支持,但下游链路复制不包含其他空间节点
147
-
148
- ---
149
-
150
- ## 数据目录(Data Catalog)核心功能
151
-
152
- ```sql
153
- -- 数据目录中的表详情页提供:
154
- -- 1. DDL 语句(一键复制)
155
- -- 2. 字段信息(名称/类型/描述/主键标识)
156
- -- 3. 数据预览(100行,需 SELECT 权限 + 指定 VCluster)
157
- -- 4. 数据血缘(上下游表关系)
158
- -- 5. 作业历史(该表相关的查询记录)
159
- -- 6. 上传(本地文件直接上传到表)
160
- ```
161
-
162
- ---
163
-
164
- ## 与其他系统的对比
165
-
166
- **为什么 Studio 是差异化能力?**
167
-
168
- Snowflake 和 Databricks 的数据集成、调度、数据质量通常需要对接 Fivetran、dbt、Airflow、Great Expectations 等第三方工具,形成复杂的技术栈。
169
-
170
- ClickZetta Studio 将这些能力**内置在平台中**,统一的权限体系、统一的监控告警、统一的数据血缘,降低了运维复杂度,特别适合中小团队和希望减少工具链复杂度的企业。
@@ -1,173 +0,0 @@
1
- # Studio 各模块详细说明
2
-
3
- > 来源:https://www.yunqi.tech/documents/LakehouseStudioTour 等官方文档
4
-
5
- ---
6
-
7
- ## 任务类型完整列表
8
-
9
- | 任务类型 | 触发方式 | 使用 VCluster | 典型用途 |
10
- |---|---|---|---|
11
- | SQL 任务 | 周期调度 / 手动 | GP 或 AP | ETL、Ad-Hoc 查询、DDL 操作 |
12
- | Python 任务 | 周期调度 / 手动 | 不使用 | ZettaPark 数据处理、文件操作 |
13
- | Shell 任务 | 周期调度 / 手动 | 不使用 | 系统命令、文件处理 |
14
- | JDBC 任务 | 周期调度 / 手动 | 不使用 | 操作 MySQL/Hive/ClickHouse 等 |
15
- | 动态表任务 | 向导式创建 | GP 或 AP | 声明式增量计算 |
16
- | 离线同步任务 | 周期调度 | 同步型 | 全量/增量批量同步 |
17
- | 实时同步任务(单表) | 持续运行 | 同步型 | Kafka/MySQL/PG 实时写入 |
18
- | 多表实时 CDC | 持续运行 | 同步型 | 整库镜像、分库分表合并 |
19
- | 组合任务 | 周期调度 | 取决于子任务 | 封装多个任务统一调度 |
20
- | 虚拟节点 | 周期调度 | 不使用 | 占位节点,用于依赖编排 |
21
-
22
- ---
23
-
24
- ## 任务状态说明
25
-
26
- | 状态 | 含义 |
27
- |---|---|
28
- | 已提交,有修改 | 任务已提交到生产,但本地有未提交的修改 |
29
- | 已提交,无修改 | 生产版本与本地版本一致 |
30
- | 已下线 | 任务已停止调度 |
31
- | 未提交 | 仅在开发环境,未发布到生产 |
32
-
33
- ---
34
-
35
- ## 调度配置关键参数
36
-
37
- ### Cron 表达式示例
38
-
39
- ```
40
- # 每天凌晨 2 点执行
41
- 0 2 * * *
42
-
43
- # 每小时执行一次
44
- 0 * * * *
45
-
46
- # 每 5 分钟执行一次
47
- */5 * * * *
48
-
49
- # 每月 1 号凌晨 1 点执行
50
- 0 1 1 * *
51
- ```
52
-
53
- ### 依赖策略
54
-
55
- | 策略 | 说明 | 适用场景 |
56
- |---|---|---|
57
- | 默认 | 上游当天实例完成后触发下游 | 标准 ETL 链路 |
58
- | 向前 | 上游最近一个完成的实例触发 | 上游频率高于下游 |
59
- | 向前就近 | 上游最近且时间最接近的实例触发 | 时间对齐要求高 |
60
-
61
- ---
62
-
63
- ## 任务参数内置时间函数
64
-
65
- | 表达式 | 含义 | 示例(今天 2024-01-15) |
66
- |---|---|---|
67
- | `$[yyyy-MM-dd]` | 当天日期 | 2024-01-15 |
68
- | `$[yyyy-MM-dd, -1d]` | 昨天 | 2024-01-14 |
69
- | `$[yyyy-MM-dd, +1d]` | 明天 | 2024-01-16 |
70
- | `$[yyyyMM]` | 当月 | 202401 |
71
- | `$[yyyyMM, -1M]` | 上月 | 202312 |
72
- | `$[yyyy-MM-dd HH:mm:ss]` | 当前时间 | 2024-01-15 10:30:00 |
73
- | `$[HH:mm:ss]` | 当前时间(仅时分秒) | 10:30:00 |
74
- | `sys_plan_datetime` | 任务计划执行时间 | 系统内置参数 |
75
-
76
- ---
77
-
78
- ## 数据质量规则六大维度
79
-
80
- | 维度 | 说明 | 示例规则 |
81
- |---|---|---|
82
- | 完整性 | 字段非空率 | `user_id` 非空率 ≥ 99% |
83
- | 唯一性 | 主键/唯一键重复检测 | `order_id` 无重复 |
84
- | 一致性 | 跨表数据一致 | 订单表与明细表金额一致 |
85
- | 准确性 | 数值范围合理性 | `age` 在 0-150 之间 |
86
- | 有效性 | 格式/枚举值合法 | `status` 在 ['active','inactive'] 中 |
87
- | 及时性 | 数据更新时效 | 每天 8 点前数据已更新 |
88
-
89
- ### 触发方式
90
-
91
- - **定时触发**:Cron 表达式,独立于任务调度
92
- - **调度任务触发**:绑定到某个 SQL/同步任务,任务完成后自动触发质量检测
93
- - **手动触发**:在 Studio 界面手动执行
94
-
95
- ---
96
-
97
- ## 数据目录(Data Catalog)功能
98
-
99
- ### 表详情页六大 Tab
100
-
101
- | Tab | 内容 |
102
- |---|---|
103
- | 详情 | DDL 语句(一键复制)、权限管理入口 |
104
- | 字段 | 字段名/类型/描述/主键/标准化标签 |
105
- | 预览 | 100 行数据预览(需 SELECT 权限 + 指定 VCluster) |
106
- | 血缘 | 上下游表关系图(数据血缘) |
107
- | 作业 | 该表相关的查询历史 |
108
- | 上传 | 本地文件直接上传到表 |
109
-
110
- ### 搜索支持的过滤条件
111
-
112
- - 对象类型:Table / View / Materialized View
113
- - 工作空间 / Schema
114
- - 创建时间范围
115
- - 负责人
116
-
117
- ---
118
-
119
- ## 运维监控告警
120
-
121
- ### 内置告警规则
122
-
123
- | 规则 | 触发条件 |
124
- |---|---|
125
- | 周期任务实例运行失败 | 任务实例执行失败 |
126
- | 数据质量检测失败 | 质量规则校验不通过 |
127
- | Pipe 延迟告警 | Kafka/OSS Pipe 消费延迟超阈值 |
128
- | 同步任务失败 | 离线/实时同步任务异常 |
129
- | 自定义规则 | 用户自定义 SQL 条件 |
130
-
131
- ### 告警通知渠道
132
-
133
- - 飞书 webhook
134
- - 企业微信 webhook
135
- - 邮件(部分版本)
136
-
137
- ---
138
-
139
- ## 数据同步支持的数据源(部分)
140
-
141
- ### 离线同步(批量)
142
-
143
- MySQL · PostgreSQL · SQL Server · Oracle · Aurora · PolarDB · ClickHouse · Hive · HDFS · OSS/S3/COS · Lakehouse
144
-
145
- ### 实时同步(CDC)
146
-
147
- MySQL(Binlog)· PostgreSQL(WAL)· Kafka(JSON/Avro/CSV)
148
-
149
- ### 连接方式
150
-
151
- - 公网直连
152
- - SSH Tunnel(连接 VPC 内数据库)
153
- - 私网连接(PrivateLink)
154
-
155
- ---
156
-
157
- ## Python 任务中使用数据源
158
-
159
- Studio Python 任务内置 `clickzetta-dbutils` 工具包,可直接使用预配置的数据源:
160
-
161
- ```python
162
- from clickzetta import dbutils
163
-
164
- # 使用预配置的 Lakehouse 数据源
165
- conn = dbutils.get_connection('my_lakehouse_datasource')
166
- cursor = conn.cursor()
167
- cursor.execute("SELECT * FROM my_schema.my_table LIMIT 10")
168
- rows = cursor.fetchall()
169
- print(rows)
170
-
171
- # 使用预配置的 MySQL 数据源
172
- mysql_conn = dbutils.get_connection('my_mysql_datasource')
173
- ```
@@ -1,155 +0,0 @@
1
- ---
2
- name: clickzetta-table-stream-pipeline
3
- description: |
4
- 搭建和管理 ClickZetta Table Stream 变更数据捕获管道,覆盖从源表配置、Stream 创建、
5
- 数据消费到增量 ETL 的端到端工作流。当用户说"创建 Table Stream"、"Table Stream CDC"、
6
- "Table Stream 管道"、"Table Stream 增量消费"、"Stream 消费"时触发。
7
- 包含变更跟踪开启、模式选择、offset 管理、元数据字段使用、幂等消费等 ClickZetta 特有逻辑。
8
- Keywords: table stream, CDC, change capture, incremental ETL, stream
9
- ---
10
-
11
- # Table Stream 变更数据捕获工作流
12
-
13
- ## 指令
14
-
15
- ### 步骤 1:开启源表变更跟踪(必需前置)
16
- 使用 `write_query` 开启源表的 change_tracking:
17
- ```sql
18
- ALTER TABLE <source_table> SET PROPERTIES ('change_tracking' = 'true');
19
- ```
20
- - 这是强制性前置步骤,不执行则 Stream 无法正确捕获变更
21
- - 使用 `read_query` 验证属性是否生效:
22
- ```sql
23
- SHOW CREATE TABLE <source_table>;
24
- ```
25
-
26
- ### 步骤 2:创建 Table Stream
27
- 使用 `write_query` 创建 Stream:
28
- ```sql
29
- CREATE [ OR REPLACE ] TABLE STREAM <stream_name>
30
- ON TABLE <source_table>
31
- [ TIMESTAMP AS OF '<timestamp>' ]
32
- [ COMMENT '<描述>' ]
33
- WITH PROPERTIES (
34
- 'TABLE_STREAM_MODE' = 'STANDARD | APPEND_ONLY',
35
- 'SHOW_INITIAL_ROWS' = 'TRUE | FALSE'
36
- );
37
- ```
38
- 关键参数选择:
39
- - **STANDARD 模式**:捕获 INSERT/UPDATE/DELETE,反映表当前状态 → 适用于数据同步、增量 ETL
40
- - **APPEND_ONLY 模式**:仅捕获 INSERT,保留所有历史插入记录 → 适用于审计、历史记录保留
41
- - **SHOW_INITIAL_ROWS = TRUE**:首次消费返回建 Stream 时表中已有行
42
- - **SHOW_INITIAL_ROWS = FALSE**(默认):首次消费仅返回建 Stream 后的新变更
43
- - 可选:指定起始时间点
44
- ```sql
45
- -- ⚠️ TIMESTAMP AS OF 功能在 ClickZetta 中不稳定,建议仅在必要时使用
46
- -- 如需使用,时间戳必须用 CAST() 形式
47
- CREATE TABLE STREAM <stream_name>
48
- ON TABLE <source_table>
49
- TIMESTAMP AS OF CAST('<timestamp>' AS TIMESTAMP)
50
- WITH PROPERTIES ('TABLE_STREAM_MODE' = 'STANDARD');
51
- ```
52
-
53
- ### 步骤 3:准备目标表
54
- 使用 `write_query` 或 `create_table` 创建与源表结构兼容的目标表:
55
- - 目标表列定义需包含源表的业务列
56
- - 建议额外添加元数据列(如 sync_version、sync_timestamp)用于追踪
57
-
58
- ### 步骤 4:查询 Stream 数据(预览,不移动 offset)
59
- 使用 `read_query` 预览 Stream 中的变更数据:
60
- ```sql
61
- SELECT *, __change_type, __commit_version, __commit_timestamp
62
- FROM <stream_name>;
63
- ```
64
- - 仅 SELECT 不会移动 offset
65
- - 元数据字段:`__change_type`(值:`INSERT` / `UPDATE_BEFORE` / `UPDATE_AFTER` / `DELETE`)、`__commit_version`、`__commit_timestamp`
66
- - UPDATE 产生两条记录:`UPDATE_BEFORE`(更新前旧值)和 `UPDATE_AFTER`(更新后新值),消费时通常忽略 `UPDATE_BEFORE`
67
-
68
- ### 步骤 5:消费 Stream 数据(移动 offset)
69
- 使用 `write_query` 执行 DML 操作消费数据:
70
-
71
- #### 方式 A:全量消费(INSERT INTO)
72
- ```sql
73
- INSERT INTO <target_table>
74
- SELECT <columns> FROM <stream_name>;
75
- ```
76
-
77
- #### 方式 B:幂等消费(MERGE,推荐)
78
- ```sql
79
- MERGE INTO <target_table> t
80
- USING <stream_name> s
81
- ON t.<pk_column> = s.<pk_column>
82
- WHEN MATCHED AND s.__change_type = 'UPDATE_AFTER' THEN UPDATE SET t.col1 = s.col1, t.col2 = s.col2
83
- WHEN MATCHED AND s.__change_type = 'DELETE' THEN DELETE
84
- WHEN NOT MATCHED AND s.__change_type = 'INSERT' THEN INSERT (<columns>) VALUES (s.<columns>);
85
- ```
86
- - DML 操作(INSERT/UPDATE/MERGE)会移动 offset
87
- - 即使使用 WHERE 条件过滤,所有数据的 offset 仍会移动
88
- - 推荐使用 MERGE 实现幂等性,避免重复消费导致数据重复
89
-
90
- ### 步骤 6:验证消费状态
91
- 使用 `read_query` 确认消费完成:
92
- ```sql
93
- SELECT COUNT(*) FROM <stream_name>;
94
- ```
95
- - 消费成功后 COUNT 应为 0 或仅包含新变更
96
- - 记录最后消费的 `__commit_version` 用于故障恢复
97
-
98
- ## 模式选择速查
99
-
100
- | 需求 | 推荐模式 |
101
- |------|---------|
102
- | 数据同步(保持目标与源一致) | STANDARD |
103
- | 增量 ETL 流程 | STANDARD |
104
- | 审计所有插入记录 | APPEND_ONLY |
105
- | 历史记录保留 | APPEND_ONLY |
106
-
107
- ## 性能优化要点
108
-
109
- - 只 SELECT 必要列,避免 `SELECT *`
110
- - 定期消费 Stream,避免数据累积
111
- - 高变更率表:更频繁消费;低变更率表:降低频率
112
- - 大型 Stream 可按主键范围拆分并行处理
113
- - 在源表上设置适当的数据保留期
114
-
115
- ## 示例
116
-
117
- ### 示例 1:订单表实时同步
118
- ```
119
- 1. write_query("ALTER TABLE orders SET PROPERTIES ('change_tracking' = 'true')")
120
- 2. write_query("CREATE TABLE STREAM orders_stream ON TABLE orders WITH PROPERTIES ('TABLE_STREAM_MODE' = 'STANDARD', 'SHOW_INITIAL_ROWS' = 'FALSE')")
121
- 3. write_query("CREATE TABLE orders_sync LIKE orders") -- 或手动建表
122
- 4. read_query("SELECT *, __commit_version, __commit_timestamp FROM orders_stream") -- 预览
123
- 5. write_query("MERGE INTO orders_sync t USING orders_stream s ON t.order_id = s.order_id WHEN MATCHED THEN UPDATE SET t.status = s.status, t.amount = s.amount WHEN NOT MATCHED THEN INSERT (order_id, status, amount) VALUES (s.order_id, s.status, s.amount)")
124
- 6. read_query("SELECT COUNT(*) FROM orders_stream") -- 验证 offset 已移动
125
- ```
126
-
127
- ### 示例 2:用户行为审计(保留全部插入历史)
128
- ```
129
- 1. write_query("ALTER TABLE user_actions SET PROPERTIES ('change_tracking' = 'true')")
130
- 2. write_query("CREATE TABLE STREAM user_actions_audit_stream ON TABLE user_actions WITH PROPERTIES ('TABLE_STREAM_MODE' = 'APPEND_ONLY', 'SHOW_INITIAL_ROWS' = 'TRUE')")
131
- 3. read_query("SELECT *, __commit_version, __commit_timestamp FROM user_actions_audit_stream")
132
- 4. write_query("INSERT INTO user_actions_audit SELECT *, __commit_version AS audit_version, __commit_timestamp AS audit_time FROM user_actions_audit_stream")
133
- ```
134
-
135
- ## 故障排除
136
-
137
- Stream 不捕获变更:
138
- 原因:源表未开启 change_tracking
139
- 解决方案:执行 `ALTER TABLE <table> SET PROPERTIES ('change_tracking' = 'true')`,确认 DML 在 Stream 创建后执行
140
-
141
- 无法区分变更类型:
142
- 原因:未在 MERGE/INSERT 中过滤 `__change_type`,导致 `UPDATE_BEFORE` 旧值也被写入目标表
143
- 解决方案:MERGE 时过滤 `__change_type IN ('UPDATE_AFTER', 'DELETE')`,忽略 `UPDATE_BEFORE` 记录
144
-
145
- 消费后 offset 未移动:
146
- 原因:仅使用 SELECT 查询,未执行 DML
147
- 解决方案:必须通过 INSERT INTO / MERGE INTO / UPDATE 等 DML 操作消费数据
148
-
149
- 重复消费导致目标表数据重复:
150
- 原因:使用 INSERT INTO 而非 MERGE,或消费逻辑非幂等
151
- 解决方案:改用 MERGE 语句;记录最后消费的 `__commit_version` 和 `__commit_timestamp` 用于断点恢复
152
-
153
- COMMENT 语法错误:
154
- 原因:使用了 `COMMENT = '...'`(带等号)而非 `COMMENT '...'`
155
- 解决方案:正确语法为 `COMMENT '注释内容'`,不带等号