@clickzetta/cz-cli-linux-x64 0.3.4 → 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 -457
  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 -112
  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 -156
  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 -639
  67. package/bin/skills/clickzetta-kafka-ingest-pipeline/references/kafka-pipe-syntax.md +0 -324
  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 -427
  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 -379
  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 -185
  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 -222
  99. package/bin/skills/clickzetta-sql-pipeline-manager/references/table-stream.md +0 -125
  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 -206
  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 -292
  116. package/bin/skills/clickzetta-volume-manager/references/volume-ddl.md +0 -199
  117. package/bin/skills/clickzetta-zettapark/SKILL.md +0 -248
  118. package/bin/skills/clickzetta-zettapark/references/zettapark-api.md +0 -283
@@ -1,540 +0,0 @@
1
- ---
2
- name: clickzetta-dba-guide
3
- description: |
4
- ClickZetta Lakehouse DBA 日常运维操作手册。集中覆盖 DBA 最常用的 8 类操作:
5
- 用户与权限管理、计算集群运维、作业监控与诊断、数据恢复与保护、
6
- 存储优化与维护、网络策略与安全、Schema 与对象管理、成本与资源分析。
7
- 每个操作提供可直接执行的 SQL,并标注 ClickZetta 特有限制。
8
- 当用户说"创建用户"、"授权"、"撤销权限"、"启停集群"、"调整集群规格"、
9
- "取消作业"、"慢查询"、"恢复误删表"、"UNDROP"、"RESTORE"、
10
- "小文件合并"、"OPTIMIZE"、"ANALYZE TABLE"、"网络策略"、"IP 白名单"、
11
- "动态脱敏"、"成本分析"、"存储用量"、"DBA 操作"时触发。
12
- Keywords: DBA, operations, monitoring, troubleshooting, cluster management, cost
13
- ---
14
-
15
- # ClickZetta Lakehouse DBA 运维手册
16
-
17
- ---
18
-
19
- ## 模块 1:用户与权限管理
20
-
21
- ### 用户管理
22
-
23
- ```sql
24
- -- 创建用户(设置默认集群和 Schema)
25
- CREATE USER alice DEFAULT_VCLUSTER default_ap DEFAULT_SCHEMA my_schema;
26
-
27
- -- 修改用户默认集群
28
- ALTER USER alice SET DEFAULT_VCLUSTER = analytics_cluster;
29
-
30
- -- 删除用户(从当前工作空间移除)
31
- DROP USER alice;
32
-
33
- -- 查看所有用户
34
- SHOW USERS;
35
- ```
36
-
37
- ### 角色管理
38
-
39
- ```sql
40
- -- 创建自定义角色(仅工作空间级,仅 SQL)
41
- CREATE ROLE data_engineer;
42
-
43
- -- 将角色授予用户
44
- GRANT ROLE data_engineer TO USER alice;
45
-
46
- -- 撤销角色
47
- REVOKE ROLE data_engineer FROM USER alice;
48
-
49
- -- 查看所有角色
50
- SHOW ROLES;
51
-
52
- -- 查看用户权限
53
- SHOW GRANTS TO USER alice;
54
- SHOW GRANTS TO ROLE data_engineer;
55
- ```
56
-
57
- ### 权限授予
58
-
59
- ```sql
60
- -- 授予 Schema 下所有表的读权限
61
- GRANT SELECT ON ALL TABLES IN SCHEMA my_schema TO ROLE data_engineer;
62
-
63
- -- 授予单张表的读写权限
64
- GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE my_schema.orders TO USER alice;
65
-
66
- -- 授予创建表的权限
67
- GRANT CREATE TABLE ON SCHEMA my_schema TO ROLE data_engineer;
68
-
69
- -- 授予使用集群的权限
70
- GRANT USE ON VCLUSTER default_ap TO ROLE data_engineer;
71
-
72
- -- 授予 information_schema 查询权限
73
- GRANT ALL ON ALL VIEWS IN SCHEMA information_schema TO ROLE data_engineer;
74
-
75
- -- 批量授权(Schema 级别)
76
- GRANT SELECT ON ALL TABLES IN SCHEMA ods TO ROLE analyst;
77
- GRANT SELECT ON ALL TABLES IN SCHEMA dwd TO ROLE analyst;
78
- GRANT SELECT ON ALL TABLES IN SCHEMA dws TO ROLE analyst;
79
- ```
80
-
81
- ### 权限撤销
82
-
83
- ```sql
84
- -- 撤销表权限
85
- REVOKE SELECT ON TABLE my_schema.orders FROM USER alice;
86
-
87
- -- 撤销 Schema 创建权限
88
- REVOKE CREATE TABLE ON SCHEMA my_schema FROM ROLE data_engineer;
89
- ```
90
-
91
- ### 动态脱敏(列级安全,邀测功能)
92
-
93
- ```sql
94
- -- 创建脱敏函数(基于角色)
95
- CREATE FUNCTION my_schema.phone_masking(phone STRING)
96
- RETURNS STRING
97
- AS CASE
98
- WHEN ARRAY_CONTAINS(current_roles(), 'data_admin') THEN phone
99
- ELSE CONCAT(SUBSTR(phone, 1, 3), '****', SUBSTR(phone, 8, 4))
100
- END;
101
-
102
- -- 绑定脱敏策略到列
103
- ALTER TABLE my_schema.users
104
- CHANGE COLUMN phone SET MASK my_schema.phone_masking;
105
-
106
- -- 解除脱敏
107
- ALTER TABLE my_schema.users
108
- CHANGE COLUMN phone UNSET MASK;
109
- ```
110
-
111
- **ClickZetta 特有限制:**
112
- - 无超级用户,所有操作必须明确授权
113
- - `instance_admin` 不能直接操作工作空间数据
114
- - 自定义角色仅工作空间级,不支持实例级自定义角色
115
-
116
- ---
117
-
118
- ## 模块 2:计算集群运维
119
-
120
- ### 启停与状态
121
-
122
- ```sql
123
- -- 启动集群
124
- ALTER VCLUSTER my_cluster RESUME;
125
- ALTER VCLUSTER IF EXISTS my_cluster RESUME;
126
-
127
- -- 停止集群
128
- ALTER VCLUSTER my_cluster SUSPEND;
129
- ALTER VCLUSTER my_cluster SUSPEND FORCE; -- 强制停止(中断运行中的作业)
130
-
131
- -- 取消集群所有作业
132
- ALTER VCLUSTER my_cluster CANCEL ALL JOBS;
133
-
134
- -- 查看集群状态
135
- SHOW VCLUSTERS;
136
- SHOW VCLUSTERS WHERE state = 'RUNNING';
137
- SHOW VCLUSTERS WHERE state = 'SUSPENDED';
138
- DESC VCLUSTER my_cluster;
139
- DESC VCLUSTER EXTENDED my_cluster;
140
-
141
- -- 切换当前会话使用的集群
142
- USE VCLUSTER my_cluster;
143
- ```
144
-
145
- ### 调整规格
146
-
147
- ```sql
148
- -- 通用型(GP):固定规格
149
- ALTER VCLUSTER my_gp SET VCLUSTER_SIZE = 8;
150
-
151
- -- 通用型(GP):弹性规格
152
- ALTER VCLUSTER my_gp SET MIN_VCLUSTER_SIZE = 2 MAX_VCLUSTER_SIZE = 16;
153
-
154
- -- 分析型(AP):调整副本数
155
- ALTER VCLUSTER my_ap SET MIN_REPLICAS = 1 MAX_REPLICAS = 4;
156
-
157
- -- 分析型(AP):调整最大并发
158
- ALTER VCLUSTER my_ap SET MAX_CONCURRENCY = 16;
159
-
160
- -- 设置查询超时(秒,-1 表示无限制)
161
- ALTER VCLUSTER my_cluster SET QUERY_RUNTIME_LIMIT_IN_SECOND = 3600;
162
- ```
163
-
164
- ### 自动停止与启动
165
-
166
- ```sql
167
- -- 设置 60 秒无作业自动停止,有作业自动启动
168
- ALTER VCLUSTER my_cluster SET
169
- AUTO_SUSPEND_IN_SECOND = 60
170
- AUTO_RESUME = TRUE;
171
-
172
- -- 关闭自动停止
173
- ALTER VCLUSTER my_cluster SET AUTO_SUSPEND_IN_SECOND = -1;
174
- ```
175
-
176
- ### AP 集群预加载缓存
177
-
178
- ```sql
179
- -- 设置预加载表(集群启动时自动缓存最新数据)
180
- ALTER VCLUSTER my_ap SET PRELOAD_TABLES = "sales.orders,sales.products";
181
-
182
- -- 查看缓存状态
183
- SHOW PRELOAD CACHED STATUS;
184
- SHOW EXTENDED PRELOAD CACHED STATUS;
185
- ```
186
-
187
- **ClickZetta 特有限制:**
188
- - OPTIMIZE(小文件合并)仅 GP 集群支持,AP 集群不生效
189
- - 分析型集群规格步长为 2^n(1/2/4/8/16...),通用型步长为 1
190
-
191
- ---
192
-
193
- ## 模块 3:作业监控与诊断
194
-
195
- ### 实时作业查看
196
-
197
- ```sql
198
- -- 查看最近作业(最多 7 天,10000 条)
199
- SHOW JOBS LIMIT 20;
200
- SHOW JOBS IN VCLUSTER default_ap LIMIT 20;
201
-
202
- -- 取消指定作业
203
- CANCEL JOB '2026050118342658136171272';
204
-
205
- -- 查看执行计划
206
- EXPLAIN SELECT * FROM orders WHERE order_date = '2024-01-01';
207
- EXPLAIN EXTENDED SELECT * FROM orders WHERE order_date = '2024-01-01';
208
- ```
209
-
210
- ### 历史作业分析(information_schema)
211
-
212
- ```sql
213
- -- 慢查询 TOP 20(最近 7 天)
214
- SELECT job_id, job_creator, execution_time, input_bytes, job_text
215
- FROM information_schema.job_history
216
- WHERE pt_date >= CAST(CURRENT_DATE - INTERVAL 7 DAY AS DATE)
217
- AND status = 'SUCCEED'
218
- ORDER BY execution_time DESC
219
- LIMIT 20;
220
-
221
- -- 失败作业(最近 24 小时)
222
- SELECT job_id, job_creator, error_message, start_time, job_text
223
- FROM information_schema.job_history
224
- WHERE pt_date >= CAST(CURRENT_DATE - INTERVAL 1 DAY AS DATE)
225
- AND status = 'FAILED'
226
- ORDER BY start_time DESC;
227
-
228
- -- 按用户统计 CRU 消耗(最近 30 天)
229
- SELECT job_creator,
230
- COUNT(*) AS job_count,
231
- ROUND(SUM(cru), 2) AS total_cru,
232
- ROUND(AVG(execution_time), 1) AS avg_exec_sec
233
- FROM information_schema.job_history
234
- WHERE pt_date >= CAST(CURRENT_DATE - INTERVAL 30 DAY AS DATE)
235
- AND status = 'SUCCEED'
236
- GROUP BY job_creator
237
- ORDER BY total_cru DESC;
238
-
239
- -- 按集群统计作业分布
240
- SELECT virtual_cluster,
241
- COUNT(*) AS job_count,
242
- ROUND(SUM(cru), 2) AS total_cru
243
- FROM information_schema.job_history
244
- WHERE pt_date >= CAST(CURRENT_DATE - INTERVAL 7 DAY AS DATE)
245
- GROUP BY virtual_cluster
246
- ORDER BY total_cru DESC;
247
- ```
248
-
249
- ---
250
-
251
- ## 模块 4:数据恢复与保护
252
-
253
- ### 恢复误删对象
254
-
255
- ```sql
256
- -- 查看已删除的表(delete_time 不为 NULL)
257
- SHOW TABLES HISTORY IN my_schema;
258
- SHOW TABLES HISTORY LIKE '%orders%';
259
-
260
- -- 恢复误删的表/动态表/物化视图
261
- UNDROP TABLE my_schema.orders;
262
- UNDROP TABLE my_schema.my_dynamic_table;
263
- UNDROP TABLE my_schema.my_mv;
264
- -- ⚠️ 恢复外部函数用 UNDROP FUNCTION,不是 UNDROP EXTERNAL FUNCTION
265
- UNDROP FUNCTION my_schema.my_ext_function;
266
- ```
267
-
268
- ### 回滚到历史版本
269
-
270
- ```sql
271
- -- 查看表的版本历史
272
- DESC HISTORY my_schema.orders;
273
- -- 返回:version, time, total_rows, total_bytes, user, operation, job_id
274
-
275
- -- 恢复到指定时间点(覆盖当前数据)
276
- -- ⚠️ 时间戳必须用 CAST() 或完整毫秒格式,不能用简单字符串
277
- -- ❌ 错误:RESTORE TABLE t TO TIMESTAMP AS OF '2024-01-15';
278
- -- ✅ 正确写法:
279
- RESTORE TABLE my_schema.orders TO TIMESTAMP AS OF CAST('2024-01-15 10:00:00' AS TIMESTAMP);
280
- RESTORE TABLE my_schema.orders TO TIMESTAMP AS OF CURRENT_TIMESTAMP() - INTERVAL '2' HOURS;
281
- -- 也支持完整毫秒时间戳字符串(从 DESC HISTORY 复制):
282
- RESTORE TABLE my_schema.orders TO TIMESTAMP AS OF '2024-01-15 10:00:00.123';
283
-
284
- -- 查询历史数据(不覆盖,仅查看)
285
- SELECT * FROM my_schema.orders TIMESTAMP AS OF CAST('2024-01-15 10:00:00' AS TIMESTAMP);
286
- ```
287
-
288
- ### 设置数据保留周期
289
-
290
- ```sql
291
- -- 设置 Time Travel 保留 30 天(范围 0-90)
292
- ALTER TABLE my_schema.orders SET PROPERTIES ('data_retention_days' = '30');
293
-
294
- -- 查看当前设置
295
- SHOW CREATE TABLE my_schema.orders;
296
- ```
297
-
298
- **ClickZetta 特有限制:**
299
- - `RESTORE TABLE` 目标时间点不能早于表创建时间
300
- - `UNDROP` 需在 `data_retention_days` 保留期内(默认 1 天)
301
- - 物化视图支持 UNDROP,但不支持 RESTORE
302
-
303
- ---
304
-
305
- ## 模块 5:存储优化与维护
306
-
307
- ### 小文件合并
308
-
309
- ```sql
310
- -- 手动触发小文件合并(异步,仅 GP 集群)
311
- OPTIMIZE my_schema.orders;
312
-
313
- -- 同步执行(等待完成)
314
- OPTIMIZE my_schema.orders OPTIONS('cz.sql.optimize.table.async' = 'false');
315
-
316
- -- 只优化特定分区
317
- OPTIMIZE my_schema.orders WHERE dt = '2024-01-01';
318
- OPTIMIZE my_schema.orders WHERE dt = '2024-01-01' AND region = 'cn';
319
-
320
- -- DML 写入时自动触发合并(GP 集群)
321
- SET cz.sql.compaction.after.commit = true;
322
- INSERT INTO my_schema.orders SELECT * FROM staging;
323
- ```
324
-
325
- ### 统计信息收集
326
-
327
- ```sql
328
- -- 收集表统计信息(优化查询计划)
329
- ANALYZE TABLE my_schema.orders COMPUTE STATISTICS;
330
-
331
- -- 仅收集大小,不扫描数据(快速)
332
- ANALYZE TABLE my_schema.orders COMPUTE STATISTICS NOSCAN;
333
-
334
- -- 收集指定列的统计信息
335
- ANALYZE TABLE my_schema.orders COMPUTE STATISTICS FOR COLUMNS order_date, customer_id;
336
-
337
- -- 收集 Schema 下所有表
338
- ANALYZE TABLES IN my_schema COMPUTE STATISTICS;
339
- ```
340
-
341
- ### 清空数据
342
-
343
- ```sql
344
- -- 清空整张表(保留表结构)
345
- TRUNCATE TABLE my_schema.staging;
346
-
347
- -- 清空指定分区
348
- TRUNCATE TABLE my_schema.orders WHERE dt = '2024-01-01';
349
- ```
350
-
351
- ### 查看存储用量
352
-
353
- ```sql
354
- -- 当前 Schema 下大表排行
355
- SELECT table_schema, table_name,
356
- ROUND(bytes / 1024.0 / 1024 / 1024, 2) AS size_gb,
357
- row_count
358
- FROM information_schema.tables
359
- WHERE table_type = 'MANAGED_TABLE'
360
- ORDER BY bytes DESC
361
- LIMIT 20;
362
-
363
- -- Sort Key 推荐(系统自动分析)
364
- SELECT table_name, col, statement, ratio
365
- FROM information_schema.sortkey_candidates
366
- ORDER BY ratio DESC;
367
- ```
368
-
369
- ---
370
-
371
- ## 模块 6:网络策略与安全
372
-
373
- ### 网络策略管理
374
-
375
- ```sql
376
- -- 创建网络策略(白名单)
377
- CREATE NETWORK POLICY office_policy
378
- ALLOWED_IP_LIST = ('10.0.0.0/8', '192.168.1.0/24')
379
- COMMENT '办公网络白名单';
380
-
381
- -- 创建网络策略(白名单 + 黑名单)
382
- CREATE NETWORK POLICY strict_policy
383
- ALLOWED_IP_LIST = ('10.0.0.0/8')
384
- BLOCKED_IP_LIST = ('10.0.1.100')
385
- COMMENT '严格访问控制';
386
-
387
- -- 修改网络策略(覆盖式,必须包含所有 IP)
388
- ALTER NETWORK POLICY office_policy
389
- ALLOWED_IP_LIST = ('10.0.0.0/8', '172.16.0.0/12')
390
- BLOCKED_IP_LIST = ('10.0.1.100');
391
-
392
- -- 停用/启用策略
393
- ALTER NETWORK POLICY office_policy INACTIVATE;
394
- ALTER NETWORK POLICY office_policy ACTIVATE;
395
-
396
- -- 删除策略
397
- DROP NETWORK POLICY IF EXISTS office_policy;
398
-
399
- -- 查看所有策略(注意:单数 POLICY,无 S)
400
- SHOW NETWORK POLICY;
401
-
402
- -- 查看策略详情
403
- DESC NETWORK POLICY office_policy;
404
- ```
405
-
406
- **关键规则(Deny 优先):**
407
- - 无任何策略时:允许所有 IP
408
- - 有白名单策略时:不在白名单的 IP 被拒绝
409
- - 黑名单命中时:无论白名单如何,该 IP 被拒绝
410
- - MySQL 协议:只要有任何生效策略,所有 MySQL 流量均被拦截
411
- - 策略生效延迟:最多 5 分钟
412
-
413
- ---
414
-
415
- ## 模块 7:Schema 与对象管理
416
-
417
- ### Schema 管理
418
-
419
- ```sql
420
- -- 创建 Schema
421
- CREATE SCHEMA ods;
422
- CREATE SCHEMA IF NOT EXISTS dwd;
423
-
424
- -- 修改 Schema 注释
425
- ALTER SCHEMA ods SET COMMENT 'ODS 原始数据层';
426
-
427
- -- 重命名 Schema
428
- ALTER SCHEMA old_name RENAME TO new_name;
429
-
430
- -- 删除 Schema(级联删除所有对象)
431
- DROP SCHEMA IF EXISTS temp_schema CASCADE;
432
-
433
- -- 切换默认 Schema
434
- USE SCHEMA my_schema;
435
- ```
436
-
437
- ### 表管理
438
-
439
- ```sql
440
- -- 修改表:加列
441
- ALTER TABLE my_schema.orders ADD COLUMN (discount DECIMAL(5,2) COMMENT '折扣率');
442
-
443
- -- 修改表:改列注释
444
- ALTER TABLE my_schema.orders CHANGE COLUMN order_id SET COMMENT '订单唯一标识';
445
-
446
- -- 修改表:设置生命周期
447
- ALTER TABLE my_schema.orders SET PROPERTIES ('data_lifecycle' = '90');
448
-
449
- -- 修改表:设置 Sort Key
450
- ALTER TABLE my_schema.orders SET PROPERTIES ('hint.sort.columns' = 'order_date');
451
-
452
- -- 重命名表
453
- ALTER TABLE my_schema.orders RENAME TO my_schema.orders_v2;
454
-
455
- -- 删除表(可 UNDROP 恢复)
456
- DROP TABLE IF EXISTS my_schema.temp_table;
457
-
458
- -- 删除动态表
459
- DROP DYNAMIC TABLE IF EXISTS my_schema.my_dt;
460
-
461
- -- 删除物化视图
462
- DROP MATERIALIZED VIEW IF EXISTS my_schema.my_mv;
463
- ```
464
-
465
- ### 批量对象查看
466
-
467
- ```sql
468
- -- 统计各类型对象数量
469
- SELECT
470
- CASE WHEN is_view THEN 'VIEW'
471
- WHEN is_materialized_view THEN 'MV'
472
- WHEN is_dynamic THEN 'DT'
473
- WHEN is_external THEN 'EXTERNAL'
474
- ELSE 'TABLE' END AS type,
475
- COUNT(*) AS cnt
476
- FROM (SHOW TABLES IN my_schema)
477
- GROUP BY 1;
478
-
479
- -- 查找大于 30 天未更新的表(潜在废弃表)
480
- SELECT table_schema, table_name, last_modify_time,
481
- ROUND(bytes / 1024.0 / 1024 / 1024, 2) AS size_gb
482
- FROM information_schema.tables
483
- WHERE table_type = 'MANAGED_TABLE'
484
- AND last_modify_time < CURRENT_TIMESTAMP - INTERVAL 30 DAY
485
- ORDER BY bytes DESC;
486
- ```
487
-
488
- ---
489
-
490
- ## 模块 8:成本与资源分析(需 INSTANCE ADMIN)
491
-
492
- ```sql
493
- -- 本月各工作空间计算费用
494
- SELECT workspace_name, sku_name,
495
- ROUND(SUM(measurements_consumption), 2) AS total_cru,
496
- ROUND(SUM(amount), 2) AS total_yuan
497
- FROM SYS.information_schema.instance_usage
498
- WHERE measurement_start >= DATE_TRUNC('month', CURRENT_DATE)
499
- GROUP BY workspace_name, sku_name
500
- ORDER BY total_yuan DESC;
501
-
502
- -- 本月各工作空间存储费用
503
- SELECT workspace_name, sku_name,
504
- ROUND(SUM(measurements_consumption), 4) AS consumption,
505
- measurements_unit,
506
- ROUND(SUM(amount), 4) AS total_yuan
507
- FROM SYS.information_schema.storage_metering
508
- WHERE measurement_start >= DATE_TRUNC('month', CURRENT_DATE)
509
- GROUP BY workspace_name, sku_name, measurements_unit
510
- ORDER BY workspace_name, total_yuan DESC;
511
-
512
- -- 跨空间存储用量排行
513
- SELECT workspace_name,
514
- ROUND(workspace_storage / 1024.0 / 1024 / 1024, 2) AS storage_gb
515
- FROM SYS.information_schema.workspaces
516
- WHERE delete_time IS NULL
517
- ORDER BY workspace_storage DESC;
518
-
519
- -- 跨空间大表排行(大于 10GB)
520
- SELECT table_catalog, table_schema, table_name,
521
- ROUND(bytes / 1024.0 / 1024 / 1024, 2) AS size_gb, row_count
522
- FROM SYS.information_schema.tables
523
- WHERE delete_time IS NULL AND bytes > 10 * 1024 * 1024 * 1024
524
- ORDER BY bytes DESC;
525
- ```
526
-
527
- ---
528
-
529
- ## ClickZetta DBA 特有注意事项
530
-
531
- | 场景 | 注意事项 |
532
- |---|---|
533
- | 权限体系 | 无超级用户;`instance_admin` 不能直接操作工作空间数据 |
534
- | 自定义角色 | 仅工作空间级,不支持实例级;只能 SQL 创建,不支持 Web 端 |
535
- | OPTIMIZE | 仅 GP 集群支持;AP 集群不支持小文件合并 |
536
- | UNDROP | 需在 `data_retention_days` 保留期内(默认 1 天) |
537
- | RESTORE | 目标时间点不能早于表创建时间 |
538
- | 网络策略 | Deny 优先;MySQL 协议有任何策略即全部拦截;生效延迟最多 5 分钟 |
539
- | 动态脱敏 | 邀测功能,需联系技术支持开通 |
540
- | 集群规格 | AP 集群步长 2^n;GP 集群步长 1;同步型最小 0.25 CRU |