@clickzetta/cz-cli-darwin-arm64 0.5.16 → 0.5.18
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/bin/cz-cli +0 -0
- package/bin/skills/lakehouse-doc-en/SKILL.md +6 -11
- package/bin/skills/lakehouse-doc-en/references/AIGateway.md +58 -13
- package/bin/skills/lakehouse-doc-en/references/Computation.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/DataSource_Amazon_DocumentDB.md +3 -1
- package/bin/skills/lakehouse-doc-en/references/Foreach.md +14 -14
- package/bin/skills/lakehouse-doc-en/references/JDBC-Driver.md +0 -1
- package/bin/skills/lakehouse-doc-en/references/LakehouseAI-overview.md +21 -8
- package/bin/skills/lakehouse-doc-en/references/LakehouseDataGPT-tour.md +4 -9
- package/bin/skills/lakehouse-doc-en/references/LakehouseStudio-tour.md +14 -19
- package/bin/skills/lakehouse-doc-en/references/Lakehouse_Zilliz_MakeDataReadyforBIandAI.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/Logstash.md +3 -3
- package/bin/skills/lakehouse-doc-en/references/Migrate_Spark_DataEngineeringBestPractices_Project_to_Lakehouse.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/Notebook.md +17 -17
- package/bin/skills/lakehouse-doc-en/references/RemoteFunction-as-udf.md +14 -14
- package/bin/skills/lakehouse-doc-en/references/SQL_External_Catalog_Guide.md +1 -9
- package/bin/skills/lakehouse-doc-en/references/SUMMARY.md +59 -29
- package/bin/skills/lakehouse-doc-en/references/WINDOWFUNCTION.md +99 -57
- package/bin/skills/lakehouse-doc-en/references/Zettapark_Data_Engineering_Demo.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/access-control-configuration.md +1 -8
- package/bin/skills/lakehouse-doc-en/references/aigw-2026-2-5-1.0.md +16 -0
- package/bin/skills/lakehouse-doc-en/references/aigw-2026-3-29-1.0.2.md +14 -0
- package/bin/skills/lakehouse-doc-en/references/aigw-2026-3-8-1.0.1.md +16 -0
- package/bin/skills/lakehouse-doc-en/references/aigw-2026-4-28-1.1.md +29 -0
- package/bin/skills/lakehouse-doc-en/references/aigw-2026-5-12-1.1.1.md +18 -0
- package/bin/skills/lakehouse-doc-en/references/aigw-2026-5-15-1.2.md +9 -0
- package/bin/skills/lakehouse-doc-en/references/aigw-2026-5-21-1.3.md +9 -0
- package/bin/skills/lakehouse-doc-en/references/aigw-2026-5-28-1.4.md +10 -0
- package/bin/skills/lakehouse-doc-en/references/aigw-2026-6-3-1.5.md +9 -0
- package/bin/skills/lakehouse-doc-en/references/alicloud-arn-externalid.md +0 -5
- package/bin/skills/lakehouse-doc-en/references/answer-accuracy-improve.md +120 -103
- package/bin/skills/lakehouse-doc-en/references/application-list.md +1 -3
- package/bin/skills/lakehouse-doc-en/references/approval-list.md +16 -17
- package/bin/skills/lakehouse-doc-en/references/batch-load-parquet-file-into-lakehouse.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/batch_sync.md +9 -9
- package/bin/skills/lakehouse-doc-en/references/batch_sync_Sop.md +2 -2
- package/bin/skills/lakehouse-doc-en/references/batchloadparquetfileintoLakehouse.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/bulkloadv1-python-sdk.md +3 -3
- package/bin/skills/lakehouse-doc-en/references/chart-auto-refresh-guide.md +12 -6
- package/bin/skills/lakehouse-doc-en/references/clickzetta-sample-data.md +3 -3
- package/bin/skills/lakehouse-doc-en/references/code_approval.md +1 -5
- package/bin/skills/lakehouse-doc-en/references/composite_task.md +31 -42
- package/bin/skills/lakehouse-doc-en/references/comprehensive_guide_to_ingesting_environment_and_data_generate.md +6 -9
- package/bin/skills/lakehouse-doc-en/references/comprehensive_guide_to_ingesting_javasdk_bulkload_realtime.md +4 -10
- package/bin/skills/lakehouse-doc-en/references/comprehensive_guide_to_ingesting_kafka_realtime_sync.md +1 -10
- package/bin/skills/lakehouse-doc-en/references/comprehensive_guide_to_ingesting_local_file_into_table_by_studio.md +0 -6
- package/bin/skills/lakehouse-doc-en/references/comprehensive_guide_to_ingesting_studio_batchload_public_network.md +0 -5
- package/bin/skills/lakehouse-doc-en/references/comprehensive_guide_to_ingesting_studio_python_node.md +2 -7
- package/bin/skills/lakehouse-doc-en/references/comprehensive_guide_to_ingesting_studio_realtime_cdc_public_network.md +13 -18
- package/bin/skills/lakehouse-doc-en/references/comprehensive_guide_to_ingesting_studio_sql_insert.md +0 -1
- package/bin/skills/lakehouse-doc-en/references/concepts.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/config-datasource.md +5 -7
- package/bin/skills/lakehouse-doc-en/references/connect-with-cli.md +116 -72
- package/bin/skills/lakehouse-doc-en/references/connect-with-cz-cli.md +151 -0
- package/bin/skills/lakehouse-doc-en/references/continue-job.md +9 -17
- package/bin/skills/lakehouse-doc-en/references/create-api-connection.md +315 -286
- package/bin/skills/lakehouse-doc-en/references/create-catalog-connection.md +1 -0
- package/bin/skills/lakehouse-doc-en/references/create-dynamic-table.md +4 -4
- package/bin/skills/lakehouse-doc-en/references/create-external-catalog.md +85 -22
- package/bin/skills/lakehouse-doc-en/references/create-table-ddl.md +45 -0
- package/bin/skills/lakehouse-doc-en/references/creating_alicloud_privatelinkendpoint.md +4 -6
- package/bin/skills/lakehouse-doc-en/references/creating_alicloud_privatelinkservice.md +4 -7
- package/bin/skills/lakehouse-doc-en/references/creating_tencentcloud_privatelinkendpoint.md +2 -7
- package/bin/skills/lakehouse-doc-en/references/creating_tencentcloud_privatelinkservice.md +1 -5
- package/bin/skills/lakehouse-doc-en/references/cz-cli-agent.md +15 -10
- package/bin/skills/lakehouse-doc-en/references/cz-cli-datasource.md +0 -8
- package/bin/skills/lakehouse-doc-en/references/cz-cli-sql.md +2 -45
- package/bin/skills/lakehouse-doc-en/references/cz-cli.md +53 -42
- package/bin/skills/lakehouse-doc-en/references/dashboard-version-management-guide.md +12 -4
- package/bin/skills/lakehouse-doc-en/references/data-integration-intro.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/data-integration.md +29 -27
- package/bin/skills/lakehouse-doc-en/references/data-load-summary.md +3 -3
- package/bin/skills/lakehouse-doc-en/references/data-quality.md +25 -25
- package/bin/skills/lakehouse-doc-en/references/data-sharing.md +31 -54
- package/bin/skills/lakehouse-doc-en/references/data-sources.md +45 -45
- package/bin/skills/lakehouse-doc-en/references/data_catalog.md +23 -25
- package/bin/skills/lakehouse-doc-en/references/data_privacy.md +5 -2
- package/bin/skills/lakehouse-doc-en/references/data_sharing_between_accounts_guide.md +0 -4
- package/bin/skills/lakehouse-doc-en/references/data_visualization.md +4 -15
- package/bin/skills/lakehouse-doc-en/references/dataagent.md +39 -7
- package/bin/skills/lakehouse-doc-en/references/databricks-delta-to-lakehouse-migration.md +168 -0
- package/bin/skills/lakehouse-doc-en/references/databricks-dlt-to-lakehouse-migration.md +331 -0
- package/bin/skills/lakehouse-doc-en/references/databricks-external-catalog-practice.md +367 -0
- package/bin/skills/lakehouse-doc-en/references/databricks-jobs-to-studio-migration.md +199 -0
- package/bin/skills/lakehouse-doc-en/references/databricks-notebook-to-studio-migration.md +350 -0
- package/bin/skills/lakehouse-doc-en/references/databricks-uc-governance-to-lakehouse-migration.md +327 -0
- package/bin/skills/lakehouse-doc-en/references/datagpt-model-config.md +34 -0
- package/bin/skills/lakehouse-doc-en/references/datagpt_data_source.md +50 -37
- package/bin/skills/lakehouse-doc-en/references/datagpt_introduction.md +55 -79
- package/bin/skills/lakehouse-doc-en/references/datagpt_quickstart.md +50 -64
- package/bin/skills/lakehouse-doc-en/references/datalake-acceleration.md +75 -2
- package/bin/skills/lakehouse-doc-en/references/dbt-databricks-to-clickzetta-migration.md +242 -0
- package/bin/skills/lakehouse-doc-en/references/dynamic-mask.md +30 -30
- package/bin/skills/lakehouse-doc-en/references/dynamic-table-bestpractice.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/dynamic-table-introduce.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/dynamic_table_summary.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/eco_integration/streamlit.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/eco_integration/superset.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/ecosystem-all.md +1 -3
- package/bin/skills/lakehouse-doc-en/references/ecosystem.md +145 -0
- package/bin/skills/lakehouse-doc-en/references/external-catalog-summary.md +33 -38
- package/bin/skills/lakehouse-doc-en/references/external-function-combo-practice.md +466 -0
- package/bin/skills/lakehouse-doc-en/references/f6fc6447ee.md +7 -9
- package/bin/skills/lakehouse-doc-en/references/federation-query.md +56 -6
- package/bin/skills/lakehouse-doc-en/references/finebi-mysql.md +2 -0
- package/bin/skills/lakehouse-doc-en/references/get-started-with-sample-data.md +10 -11
- package/bin/skills/lakehouse-doc-en/references/gitfolder.md +2 -3
- package/bin/skills/lakehouse-doc-en/references/grant-privileges.md +2 -0
- package/bin/skills/lakehouse-doc-en/references/iceberg-rest-catalog-databricks.md +166 -0
- package/bin/skills/lakehouse-doc-en/references/ide.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/if_else_task.md +59 -57
- package/bin/skills/lakehouse-doc-en/references/input_output.md +10 -7
- package/bin/skills/lakehouse-doc-en/references/jobprofile-bestpractices.md +60 -64
- package/bin/skills/lakehouse-doc-en/references/kafka-connection.md +0 -1
- package/bin/skills/lakehouse-doc-en/references/key-concepts.md +146 -117
- package/bin/skills/lakehouse-doc-en/references/lakehouse-ai-gateway-cz-cli.md +317 -0
- package/bin/skills/lakehouse-doc-en/references/lakehouse-ai-sql-analysis.md +345 -0
- package/bin/skills/lakehouse-doc-en/references/lakehouse-dqc-guide.md +300 -0
- package/bin/skills/lakehouse-doc-en/references/lakehouse-medallion-sql-dt-guide.md +543 -0
- package/bin/skills/lakehouse-doc-en/references/lakehouse-multi-cloud-acceleration.md +274 -0
- package/bin/skills/lakehouse-doc-en/references/lakehouse-multimodal-ai-pipeline.md +198 -0
- package/bin/skills/lakehouse-doc-en/references/lakehouse-quick-experience_guide.md +49 -52
- package/bin/skills/lakehouse-doc-en/references/lakehouse-volume-pipe-acceleration-guide.md +380 -0
- package/bin/skills/lakehouse-doc-en/references/langchain-plug-installation.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/management.md +4 -9
- package/bin/skills/lakehouse-doc-en/references/medallion-lakehouse-from-scratch.md +2 -1
- package/bin/skills/lakehouse-doc-en/references/metrics_answer_build.md +58 -21
- package/bin/skills/lakehouse-doc-en/references/migrate-spark-data-engineering-best-practices-to-lakehouse.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/mindsdb.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/monitoring_and_alerting.md +65 -60
- package/bin/skills/lakehouse-doc-en/references/monitoring_item_specification.md +33 -33
- package/bin/skills/lakehouse-doc-en/references/multitable_batch_sync.md +16 -16
- package/bin/skills/lakehouse-doc-en/references/multitable_realtime_sync.md +65 -72
- package/bin/skills/lakehouse-doc-en/references/multitable_realtime_sync_sop.md +54 -52
- package/bin/skills/lakehouse-doc-en/references/navicat-mysql.md +2 -0
- package/bin/skills/lakehouse-doc-en/references/om-dynamic-table.md +71 -66
- package/bin/skills/lakehouse-doc-en/references/om-vcluster.md +2 -0
- package/bin/skills/lakehouse-doc-en/references/open-api-create-session.md +79 -0
- package/bin/skills/lakehouse-doc-en/references/open-api-generate-auth-token.md +63 -0
- package/bin/skills/lakehouse-doc-en/references/open-api-overview.md +96 -0
- package/bin/skills/lakehouse-doc-en/references/open-api-quick-start.md +286 -0
- package/bin/skills/lakehouse-doc-en/references/open-api-response-guide.md +264 -0
- package/bin/skills/lakehouse-doc-en/references/open-api-safe-question-poll.md +201 -0
- package/bin/skills/lakehouse-doc-en/references/open-api-text2insight-query.md +99 -0
- package/bin/skills/lakehouse-doc-en/references/open-api-text2insight-stop.md +74 -0
- package/bin/skills/lakehouse-doc-en/references/overview.md +6 -7
- package/bin/skills/lakehouse-doc-en/references/permission-application.md +5 -5
- package/bin/skills/lakehouse-doc-en/references/pipe-introduction.md +1 -0
- package/bin/skills/lakehouse-doc-en/references/pipe-kafka-table-stream.md +72 -70
- package/bin/skills/lakehouse-doc-en/references/pipe-kafka.md +105 -110
- package/bin/skills/lakehouse-doc-en/references/pipe-overview.md +40 -40
- package/bin/skills/lakehouse-doc-en/references/pipe-storage-object.md +43 -48
- package/bin/skills/lakehouse-doc-en/references/pipe-summary.md +14 -4
- package/bin/skills/lakehouse-doc-en/references/pipe-syntax.md +58 -151
- package/bin/skills/lakehouse-doc-en/references/practice_python_task.md +4 -4
- package/bin/skills/lakehouse-doc-en/references/pricing-ai-gateway.md +181 -0
- package/bin/skills/lakehouse-doc-en/references/pricing-lakehouse.md +316 -0
- package/bin/skills/lakehouse-doc-en/references/pricing.md +44 -288
- package/bin/skills/lakehouse-doc-en/references/private-link-general.md +0 -2
- package/bin/skills/lakehouse-doc-en/references/pyspark-to-zettapark-migration-f1.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/python-igs.md +7 -3
- package/bin/skills/lakehouse-doc-en/references/python-sample-put-github-rt-events.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/python-task.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/python_reference/connector.md +3 -3
- package/bin/skills/lakehouse-doc-en/references/python_reference/connector_advanced.md +2 -2
- package/bin/skills/lakehouse-doc-en/references/python_reference/connector_examples.md +2 -2
- package/bin/skills/lakehouse-doc-en/references/python_sdk_guide.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/python_shell_datasource.md +11 -9
- package/bin/skills/lakehouse-doc-en/references/quick_start_batch_sync_data.md +9 -18
- package/bin/skills/lakehouse-doc-en/references/quick_start_bi_analysis.md +8 -25
- package/bin/skills/lakehouse-doc-en/references/quick_start_create_workspace.md +4 -6
- package/bin/skills/lakehouse-doc-en/references/quick_start_data_quality.md +8 -8
- package/bin/skills/lakehouse-doc-en/references/quick_start_etl.md +16 -20
- package/bin/skills/lakehouse-doc-en/references/quick_start_monitoring_and_alerting.md +10 -18
- package/bin/skills/lakehouse-doc-en/references/quick_start_sql_query.md +7 -10
- package/bin/skills/lakehouse-doc-en/references/quick_start_upload_data.md +5 -7
- package/bin/skills/lakehouse-doc-en/references/quick_start_user_management.md +8 -8
- package/bin/skills/lakehouse-doc-en/references/quick_start_workspace.md +0 -5
- package/bin/skills/lakehouse-doc-en/references/quick_start_workspace_user.md +8 -8
- package/bin/skills/lakehouse-doc-en/references/quickstart.md +69 -56
- package/bin/skills/lakehouse-doc-en/references/quickstart_datashare_between_companies.md +0 -5
- package/bin/skills/lakehouse-doc-en/references/quickstart_envirment_for_team.md +0 -24
- package/bin/skills/lakehouse-doc-en/references/realtime-pipeline-selection-guide.md +1 -2
- package/bin/skills/lakehouse-doc-en/references/realtime-sales-dashboard-with-dynamic-table.md +3 -3
- package/bin/skills/lakehouse-doc-en/references/realtime_sync.md +0 -1
- package/bin/skills/lakehouse-doc-en/references/release-note-2026-05-19.md +5 -3
- package/bin/skills/lakehouse-doc-en/references/revoke-privileges.md +3 -1
- package/bin/skills/lakehouse-doc-en/references/roles.md +2 -3
- package/bin/skills/lakehouse-doc-en/references/row-filter.md +165 -0
- package/bin/skills/lakehouse-doc-en/references/row_level_permission.md +30 -19
- package/bin/skills/lakehouse-doc-en/references/scheduled_task.md +28 -21
- package/bin/skills/lakehouse-doc-en/references/security_overview.md +99 -21
- package/bin/skills/lakehouse-doc-en/references/set-command.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/setup.md +13 -15
- package/bin/skills/lakehouse-doc-en/references/show-grants.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/snowflake-dynamic-tables-to-lakehouse.md +2 -2
- package/bin/skills/lakehouse-doc-en/references/spark-connector-summary.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/sql_functions/context_functions/current_vcluster.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/sso-configuration.md +2 -2
- package/bin/skills/lakehouse-doc-en/references/streaming_pipeline_with_dynamic_table.md +0 -1
- package/bin/skills/lakehouse-doc-en/references/studio-incremental-sync-practice.md +27 -23
- package/bin/skills/lakehouse-doc-en/references/studio-shell-task.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/supported-cloud-platforms.md +32 -0
- package/bin/skills/lakehouse-doc-en/references/table_rendering.md +18 -12
- package/bin/skills/lakehouse-doc-en/references/task-develop.md +89 -91
- package/bin/skills/lakehouse-doc-en/references/task_development.md +19 -17
- package/bin/skills/lakehouse-doc-en/references/task_group.md +16 -14
- package/bin/skills/lakehouse-doc-en/references/task_instance.md +21 -21
- package/bin/skills/lakehouse-doc-en/references/task_param.md +38 -35
- package/bin/skills/lakehouse-doc-en/references/task_param_reference.md +81 -79
- package/bin/skills/lakehouse-doc-en/references/task_scheduling_dependency.md +20 -21
- package/bin/skills/lakehouse-doc-en/references/tencentcloud_arn_and_externalid.md +1 -5
- package/bin/skills/lakehouse-doc-en/references/trial-account-quotas-and-limits.md +1 -3
- package/bin/skills/lakehouse-doc-en/references/tutorial_connect_to_lakehouse.md +69 -0
- package/bin/skills/lakehouse-doc-en/references/tutorials.md +4 -1
- package/bin/skills/lakehouse-doc-en/references/unique-key.md +167 -0
- package/bin/skills/lakehouse-doc-en/references/usageandbillingview.md +138 -0
- package/bin/skills/lakehouse-doc-en/references/use-dbt-dev.md +3 -3
- package/bin/skills/lakehouse-doc-en/references/use-java-sdk-realtime-uploaddata.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/use-java-sdk-upload-data-local.md +3 -3
- package/bin/skills/lakehouse-doc-en/references/use-models.md +128 -0
- package/bin/skills/lakehouse-doc-en/references/use-mysql-client.md +81 -81
- package/bin/skills/lakehouse-doc-en/references/use-python-sdk-upload-data.md +10 -12
- package/bin/skills/lakehouse-doc-en/references/user-identification.md +2 -3
- package/bin/skills/lakehouse-doc-en/references/user_permission_grand_guide.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/using-udf-in-dynamic-table.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/vc_cache.md +18 -22
- package/bin/skills/lakehouse-doc-en/references/vcluster_size_description.md +33 -31
- package/bin/skills/lakehouse-doc-en/references/virtual-cluster.md +43 -45
- package/bin/skills/lakehouse-doc-en/references/web-job-history.md +94 -108
- package/bin/skills/lakehouse-doc-en/references/web_search.md +16 -7
- package/bin/skills/lakehouse-doc-en/references/zettapark-data-engineering-demo.md +1 -1
- package/bin/skills/lakehouse-doc-en/references/zettapark-dataframe-guide.md +144 -70
- package/bin/skills/lakehouse-doc-en/references/zettapark-dynamic-table-guide.md +2 -2
- package/bin/skills/lakehouse-doc-en/references/zettapark-etl-guide.md +73 -33
- package/bin/skills/lakehouse-doc-en/references/zettapark-feature-engineering.md +2 -2
- package/bin/skills/lakehouse-doc-en/references/zettapark-functions-guide.md +75 -46
- package/bin/skills/lakehouse-doc-en/references/zettapark-quick-start.md +2 -2
- package/bin/skills/lakehouse-doc-en/references/zettapark-stream-guide.md +4 -4
- package/bin/skills/lakehouse-doc-en/references/zettapark-volume-guide.md +93 -29
- package/package.json +1 -1
- package/bin/skills/lakehouse-doc-en/references/CLAUDE.md +0 -606
- package/bin/skills/lakehouse-doc-en/references/modelprice.md +0 -155
|
@@ -1,606 +0,0 @@
|
|
|
1
|
-
# Singdata Lakehouse Documentation — Collaboration Guidelines
|
|
2
|
-
|
|
3
|
-
## Documentation Quality Goals
|
|
4
|
-
|
|
5
|
-
Core user pain points: **content too shallow, lack of examples, slow updates, errors (typos + incorrect SQL)**.
|
|
6
|
-
|
|
7
|
-
Before delivering any document, self-check against these standards:
|
|
8
|
-
|
|
9
|
-
- After reading the first screen, the user can decide "is this feature right for my use case"
|
|
10
|
-
- Every SQL example has setup data + actual output, verified with cz-cli
|
|
11
|
-
- Critical warnings appear next to the parameter that triggers them, not only at the bottom
|
|
12
|
-
- No typos, no unverified SQL
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Content Quality Standards
|
|
17
|
-
|
|
18
|
-
### Concept Documents (Feature Introduction Pages)
|
|
19
|
-
|
|
20
|
-
The first screen must answer three questions:
|
|
21
|
-
|
|
22
|
-
1. **What is it**: One-sentence analogy using something the user already knows
|
|
23
|
-
2. **When to use it**: Comparison with similar features (table or brief explanation)
|
|
24
|
-
3. **Core mechanism**: The single most important working principle to build a mental model
|
|
25
|
-
|
|
26
|
-
Example (what a Dynamic Table first screen should contain):
|
|
27
|
-
> A Dynamic Table is like an "auto-refreshing query result table" — you define a SQL query, and the system incrementally computes and maintains the result. Use it to build ODS→DWD→ADS data pipelines. If you only need transparent query acceleration, use a Materialized View. If you only need logical encapsulation without storing data, use a View.
|
|
28
|
-
|
|
29
|
-
### SQL Reference Documents (Command Reference Pages)
|
|
30
|
-
|
|
31
|
-
**Purpose**: Users come here to look up uncertain syntax or parameter meanings. Organized by command structure.
|
|
32
|
-
|
|
33
|
-
**Fixed structure** (order must not change):
|
|
34
|
-
|
|
35
|
-
1. `# COMMAND NAME` — all-caps English (`MERGE INTO`)
|
|
36
|
-
2. `## Overview` — one sentence on purpose + positioning (when to use this command vs. alternatives)
|
|
37
|
-
3. `## Syntax` — code block annotated ` ```Plain `, use `<placeholder>` for parameters
|
|
38
|
-
4. `## Parameters` — each parameter describes behavior, format: what it does — when to use this value; critical constraints follow the parameter inline with `> ⚠️`
|
|
39
|
-
5. `## Examples` — three-part: setup data → core SQL → actual output
|
|
40
|
-
6. `## Notes` — summary of critical constraints (also inline next to parameters)
|
|
41
|
-
7. `## Related Documentation` — link to the corresponding usage guide
|
|
42
|
-
|
|
43
|
-
**Parameter description format**: describe behavior, not just definition.
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
# Bad: `BUILD DEFERRED`: Boolean, controls whether to defer build
|
|
47
|
-
# Good: `BUILD DEFERRED`: Does not generate data at creation time; use when you want to
|
|
48
|
-
# define the structure first and trigger the initial refresh manually.
|
|
49
|
-
# Required when using CREATE OR REPLACE.
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
**Warnings first**: Critical constraints must appear in two places:
|
|
53
|
-
- Next to the parameter/feature that triggers them (`> ⚠️ Note: ...`)
|
|
54
|
-
- In the Notes section at the bottom (summary)
|
|
55
|
-
|
|
56
|
-
### Usage Guide Documents (SQL_*_Guide.md)
|
|
57
|
-
|
|
58
|
-
**Purpose**: Users come here when they have a clear business goal ("I need to do funnel analysis", "I need deduplication") and want complete, runnable examples. Organized by business scenario.
|
|
59
|
-
|
|
60
|
-
**Fixed structure** (order must not change):
|
|
61
|
-
|
|
62
|
-
1. `# Lakehouse X Guide` (or "X Operations Guide")
|
|
63
|
-
2. `## Overview` — 2-3 sentences on business context + quick navigation anchor list
|
|
64
|
-
3. `## SQL Commands Used` — table: Command/Function | Purpose | Use Case (for easy navigation to SQL reference pages)
|
|
65
|
-
4. `## Prerequisites` — CREATE TABLE + INSERT test data; all examples in the document share this one setup, do not create separate setups per scenario; test table names use `doc_` prefix (e.g., `doc_funnel_events`)
|
|
66
|
-
5. `## Scenario 1/2/3...` — each scenario: complete SQL → actual output (markdown table or code block) → result interpretation
|
|
67
|
-
6. `## Related Documentation` — link back to the corresponding SQL reference pages
|
|
68
|
-
|
|
69
|
-
**Quality standards**:
|
|
70
|
-
- Cover at least 2-3 real business variants (different grouping dimensions, different time granularities, etc.)
|
|
71
|
-
- Results must include interpretation explaining what the output means, not just numbers
|
|
72
|
-
- Do not repeat parameter syntax in guides; point to SQL reference pages for syntax details
|
|
73
|
-
|
|
74
|
-
### Key Difference Between the Two Document Types
|
|
75
|
-
|
|
76
|
-
| | SQL Reference | Usage Guide |
|
|
77
|
-
|---|---|---|
|
|
78
|
-
| User intent | Look up syntax/parameters | Complete a business task |
|
|
79
|
-
| Organized by | Command structure | Business scenario |
|
|
80
|
-
| Number of examples | Cover all parameter combinations | Cover typical business variants |
|
|
81
|
-
| Data setup | Each example has its own minimal data | Entire document shares one setup (`doc_` prefix) |
|
|
82
|
-
| Cross-references | Link to usage guide at the end | Link back to SQL reference at the end |
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
## SQL Validation Standards
|
|
87
|
-
|
|
88
|
-
**All SQL examples in all documents, whether command reference or usage guide, must be verified by actually running them. Guessing expected output is not allowed.** Any tool works: cz-cli, Lakehouse Studio, JDBC client — but output must come from actual execution.
|
|
89
|
-
|
|
90
|
-
### Validation Tool (cz-cli examples)
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
# Query
|
|
94
|
-
cz-cli sql "<SQL>" --profile aliyun_shanghai_prod --sync
|
|
95
|
-
|
|
96
|
-
# DDL/DML (CREATE TABLE, INSERT, ALTER)
|
|
97
|
-
cz-cli sql "CREATE TABLE ..." --profile aliyun_shanghai_prod --sync --write
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
### ⚠️ Hallucination Incident Log (Critical — Must Read)
|
|
101
|
-
|
|
102
|
-
**Row-level permission SQL does not exist**: Lakehouse has no `CREATE ROW ACCESS POLICY`, `ALTER TABLE ... ADD ROW ACCESS POLICY`, or any row-level permission DDL syntax. These statements were completely fabricated and appeared in documentation causing serious misguidance. Row-level permissions **exist only in the DataGPT Studio UI configuration**, not as Lakehouse SQL objects. They must not appear in the object model section and must not have any SQL examples. Lesson: security/permission features must be verified with cz-cli before writing documentation — never infer from other databases (Snowflake/BigQuery).
|
|
103
|
-
|
|
104
|
-
### Common Pitfalls (Traps Already Encountered — Read Before Writing)
|
|
105
|
-
|
|
106
|
-
**Numeric display**: `1.0` may actually return `1`, `[3.0, 8.0]` may return `[3, 8]`. Use actual output.
|
|
107
|
-
|
|
108
|
-
**JSON serialization**: The `count` field in `approx_top_k`/`approx_histogram` is a string type (`"3"` not `3`). JSON output has no space after colon (`{"x":1}` not `{"x": 1}`).
|
|
109
|
-
|
|
110
|
-
**Non-deterministic functions**: `ANY_VALUE` may return NULL. Do not hardcode specific values in examples; note non-determinism.
|
|
111
|
-
|
|
112
|
-
**FILTER clause**: Not all aggregate functions support it. `MEDIAN` does not; `GROUP_CONCAT ... SEPARATOR ... FILTER` errors (use `WM_CONCAT` instead).
|
|
113
|
-
|
|
114
|
-
**DISTINCT semantics**: `COLLECT_LIST_ON_ARRAY(DISTINCT ...)` deduplicates entire array rows, not elements within arrays.
|
|
115
|
-
|
|
116
|
-
**APPROX_HISTOGRAM boundary values**: Floating-point precision may produce `0.6499999999999999` instead of `0.65`.
|
|
117
|
-
|
|
118
|
-
**PERCENT_RANK**: Takes no arguments. `percent_rank(col)` errors; correct form is `PERCENT_RANK()`.
|
|
119
|
-
|
|
120
|
-
**TABLE_CHANGES timestamps**: Only accepts literal constants; expressions like `NOW() - INTERVAL 1 HOUR` are not supported. `DESC HISTORY` returns UTC time; note timezone when querying (default UTC+8).
|
|
121
|
-
|
|
122
|
-
**GROUP_BITMAP series**: `GROUP_BITMAP`/`GROUP_BITMAP_AND`/`GROUP_BITMAP_OR`/`GROUP_BITMAP_XOR`/`GROUP_BITMAP_MERGE` return cardinality (INT), not a bitmap object. Use `GROUP_BITMAP_STATE` for a bitmap object.
|
|
123
|
-
|
|
124
|
-
**Unordered sets**: `COLLECT_SET` and `COLLECT_LIST(DISTINCT ...)` result order is non-deterministic. Do not hardcode order; note "result order is not guaranteed" in documentation.
|
|
125
|
-
|
|
126
|
-
**FROM_JSON case sensitivity**: Field names are forced to lowercase. Fields with different cases that would collide are silently dropped. Use `PARSE_JSON` to preserve uppercase field names.
|
|
127
|
-
|
|
128
|
-
**Context functions**: `CURRENT_SESSION_ID()`, `CURRENT_VCLUSTER()` return different values each time. Use comments in examples rather than hardcoding specific values.
|
|
129
|
-
|
|
130
|
-
**LAST_VALUE window frame**: Default frame is `ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW`, causing `LAST_VALUE` to return the current row rather than the last row. Explicitly specify `ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING`.
|
|
131
|
-
|
|
132
|
-
**Two-level window aggregation**: `SUM(SUM(col)) OVER (...)` is valid — the outer SUM is a window function, the inner SUM is an aggregate function, and it must be used with GROUP BY.
|
|
133
|
-
|
|
134
|
-
### Document Consistency Review (Required After SQL Verification)
|
|
135
|
-
|
|
136
|
-
**Background**: SQL verification ensures "each SQL block runs correctly in isolation" but cannot catch inconsistencies between table definitions and later usage, missing cross-section references, or undocumented implicit assumptions. These errors are not exposed by isolated testing — only a full read-through from the reader's perspective reveals them.
|
|
137
|
-
|
|
138
|
-
**After completing SQL verification for any usage guide, perform these three additional checks:**
|
|
139
|
-
|
|
140
|
-
| Check | Method | Typical Error |
|
|
141
|
-
|---|---|---|
|
|
142
|
-
| Table definition completeness | Scan all SQL in the document, extract all columns/CTEs used, compare against the `CREATE TABLE` or setup data at the top | Time-Decay attribution uses `conversion_time` column, but it's not in the table definition |
|
|
143
|
-
| CTE context references | Check whether each CTE referenced in a SQL block is defined in the same section or earlier; can the reader trace it back | Advanced scenario references `with_session` but doesn't say it comes from the session-splitting in Section 1 |
|
|
144
|
-
| Implicit assumptions made explicit | List key facts confirmed during testing but not mentioned in the document; decide whether they need to be stated | The depth formula works for both LPAD-padded and unpadded paths, but readers may wonder |
|
|
145
|
-
|
|
146
|
-
**How to execute**:
|
|
147
|
-
1. After writing all SQL and completing verification, **read the entire document from start to finish**
|
|
148
|
-
2. For each SQL block, ask: "If I only see up to this point, can I understand where all variables come from?"
|
|
149
|
-
3. For each table/CTE definition, ask: "Are all columns used later defined here?"
|
|
150
|
-
4. For key facts discovered during testing, ask: "Will readers have the same questions I had while testing?"
|
|
151
|
-
|
|
152
|
-
---
|
|
153
|
-
|
|
154
|
-
### Example Coverage Standards
|
|
155
|
-
|
|
156
|
-
Function documentation examples must cover:
|
|
157
|
-
1. Basic usage (required)
|
|
158
|
-
2. Optional parameters listed in the syntax (DISTINCT, FILTER, ORDER BY, limit, etc.)
|
|
159
|
-
3. NULL value handling (when behavior is non-obvious)
|
|
160
|
-
4. GROUP BY usage (aggregate functions)
|
|
161
|
-
|
|
162
|
-
Alias functions (e.g., `STD` = `STDDEV_SAMP`) may have fewer examples, but must cover at least FILTER and GROUP BY.
|
|
163
|
-
|
|
164
|
-
### Test Temporary Table Naming
|
|
165
|
-
|
|
166
|
-
When testing multiple function groups in parallel, use different prefixes to avoid conflicts:
|
|
167
|
-
- `test_agg_g1_`, `test_agg_g2_` … for aggregate_functions
|
|
168
|
-
- Run `DROP TABLE IF EXISTS` to clean up after testing
|
|
169
|
-
|
|
170
|
-
---
|
|
171
|
-
|
|
172
|
-
## Documentation Writing Standards
|
|
173
|
-
|
|
174
|
-
### Document Structure Templates
|
|
175
|
-
|
|
176
|
-
**SQL syntax documents** (e.g., `show-schemas.md`):
|
|
177
|
-
- `## Overview`: one sentence on purpose + positioning
|
|
178
|
-
- `## Syntax`: code block, annotated ` ```sql ` or ` ```Plain `
|
|
179
|
-
- `## Parameters`: parameter names in inline code, describe behavior not definition
|
|
180
|
-
- `## Examples`: three-part (setup data + SQL + output)
|
|
181
|
-
- `## Notes`: critical constraints, also inline next to parameters
|
|
182
|
-
- `## Related Guides`: link to the corresponding usage guide
|
|
183
|
-
|
|
184
|
-
**Feature concept documents** (e.g., `table_stream.md`):
|
|
185
|
-
- First screen: analogy + positioning + core mechanism
|
|
186
|
-
- `## How It Works` or `## Core Concepts`
|
|
187
|
-
- `## Use Cases`
|
|
188
|
-
- `## Notes` / `## Cost`
|
|
189
|
-
- `## Related Documentation`
|
|
190
|
-
|
|
191
|
-
**Usage guide documents** (`SQL_*_Guide.md`):
|
|
192
|
-
- `## Overview`: scenario description + quick navigation
|
|
193
|
-
- `## SQL Commands Used`: command reference table
|
|
194
|
-
- `## Prerequisites`: CREATE TABLE + INSERT test data
|
|
195
|
-
- Scenario sections: complete SQL + output + explanation
|
|
196
|
-
- `## Related Documentation`
|
|
197
|
-
|
|
198
|
-
### Heading Levels
|
|
199
|
-
|
|
200
|
-
**Each document must have exactly one `#` H1 heading, and it must be the first line of content.** This is the first element users see when opening a page and directly affects orientation.
|
|
201
|
-
|
|
202
|
-
**H1 naming rules** (by document type):
|
|
203
|
-
|
|
204
|
-
| Document type | H1 format | Example |
|
|
205
|
-
|---|---|---|
|
|
206
|
-
| SQL command | `# COMMAND NAME` (all caps) | `# INSERT`, `# ALTER TABLE`, `# SHOW SCHEMAS` |
|
|
207
|
-
| Concept/feature | `# Feature Name` | `# Materialized View`, `# Dynamic Table`, `# Table Stream` |
|
|
208
|
-
| Operations guide | `# Verb + Object` | `# Load Data from Object Storage`, `# Configure Network Policy` |
|
|
209
|
-
| Ecosystem integration | `# Tool Connection Guide` | `# FineBI Connection Guide`, `# PowerBI Connection Guide` |
|
|
210
|
-
| Best practices | `# Topic Best Practices` | `# Table Design Best Practices`, `# Index Usage Best Practices` |
|
|
211
|
-
|
|
212
|
-
**First `##` section name rules**:
|
|
213
|
-
- SQL command documents: `## Overview` (consistent — do not use "Description", "Introduction", etc.)
|
|
214
|
-
- Concept/feature documents: start with body text directly, no `## Overview` heading
|
|
215
|
-
- Other types: `## Overview` or start with body text directly
|
|
216
|
-
|
|
217
|
-
**Prohibited**:
|
|
218
|
-
- Section numbering (`## 1.`, `## 2.` Word-style)
|
|
219
|
-
- H1 using context-free words (`# Feature`, `# Overview`, `# Introduction`)
|
|
220
|
-
- Starting directly from `##` without an H1
|
|
221
|
-
- Emoji in headings
|
|
222
|
-
|
|
223
|
-
### Code Block Language Annotations
|
|
224
|
-
|
|
225
|
-
| Content | Annotation |
|
|
226
|
-
|------|------|
|
|
227
|
-
| SQL statements | ` ```sql ` |
|
|
228
|
-
| Syntax structure (with placeholders) | ` ```Plain ` |
|
|
229
|
-
| Shell / cz-cli commands | ` ```bash ` |
|
|
230
|
-
| JSON | ` ```json ` |
|
|
231
|
-
| Agent prompt text | ` ```Plain ` |
|
|
232
|
-
| No specific language | no annotation |
|
|
233
|
-
|
|
234
|
-
Do not use ` ```Scala `, ` ```SQL ` (uppercase), or other non-standard annotations.
|
|
235
|
-
|
|
236
|
-
### Inline Formatting
|
|
237
|
-
|
|
238
|
-
- Command names, parameter names, field names, table names, function names: wrap in backticks, e.g., `SHOW SCHEMAS`, `ON_ERROR`
|
|
239
|
-
- UI buttons, menu paths: **bold**, e.g., **Development → Tasks**
|
|
240
|
-
- Important notes or constraints: **bold** key words
|
|
241
|
-
- Internal document links: relative paths, e.g., `[Real-time Sync Tasks](realtime_sync.md)`
|
|
242
|
-
|
|
243
|
-
### Code in Table Cells
|
|
244
|
-
|
|
245
|
-
Backtick code spans (`<code>`) default to `white-space: nowrap` and will not wrap in table cells, breaking the table layout when too long.
|
|
246
|
-
|
|
247
|
-
Rules:
|
|
248
|
-
- **Short commands or identifiers** (roughly 30 characters or fewer, e.g., `SHOW SHARES`, `instance_admin`): keep backticks
|
|
249
|
-
- **Long SQL commands** (GRANT, REVOKE, CREATE SCHEMA, etc. with parameters): remove backticks, use plain text to allow natural wrapping
|
|
250
|
-
- **Angle bracket placeholders** (`<name>`): use HTML entities `<name>` in table cells to prevent the platform from parsing them as HTML tags
|
|
251
|
-
|
|
252
|
-
### Language Style
|
|
253
|
-
|
|
254
|
-
- Technical terms stay in English (SCHEMA, VCLUSTER, DML, etc.)
|
|
255
|
-
- Sentences are concise; avoid colloquial language
|
|
256
|
-
- Use ordered lists for step-by-step instructions, unordered lists for notes
|
|
257
|
-
- Parameter descriptions use "what it does — when to use this value" format, not "what it is" format
|
|
258
|
-
|
|
259
|
-
### Pronoun Convention
|
|
260
|
-
|
|
261
|
-
- Use **"you"** consistently to address the reader
|
|
262
|
-
- Exception: `privacy-policy.md`, `user-aggrement.md`, and other legal agreement files may use more formal language
|
|
263
|
-
- Do not refer to readers as "customers" or "users" — use "you" or "your team"
|
|
264
|
-
|
|
265
|
-
### Warning Block Format
|
|
266
|
-
|
|
267
|
-
Critical warnings use blockquote + ⚠️ format:
|
|
268
|
-
|
|
269
|
-
```
|
|
270
|
-
> ⚠️ **Note**: warning content
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
Supplementary tips use blockquote + 💡 format:
|
|
274
|
-
|
|
275
|
-
```
|
|
276
|
-
> 💡 **Tip**: tip content
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
Do not use `> Note`, `> **Note**`, `> Tip`, `> **Tip**` (without emoji) variants.
|
|
280
|
-
|
|
281
|
-
### Paragraph Spacing
|
|
282
|
-
|
|
283
|
-
- Leave one blank line before and after section headings
|
|
284
|
-
- Leave one blank line before and after code blocks
|
|
285
|
-
- Generally no blank lines between list items; add blank lines when items are long
|
|
286
|
-
|
|
287
|
-
### Images
|
|
288
|
-
|
|
289
|
-
Images are uploaded by the platform and auto-generate paths:
|
|
290
|
-
|
|
291
|
-
```
|
|
292
|
-

|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
Centered display uses platform-specific syntax:
|
|
296
|
-
|
|
297
|
-
```
|
|
298
|
-
:-: 
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
`=740` specifies width. Add `^` before and after centered images as paragraph separators. Do not manually move or rename files under `.topwrite/assets/`.
|
|
302
|
-
|
|
303
|
-
---
|
|
304
|
-
|
|
305
|
-
## Pre-submission Checklist
|
|
306
|
-
|
|
307
|
-
Review before each submission:
|
|
308
|
-
|
|
309
|
-
- [ ] All SQL examples have been actually run with cz-cli; output matches documentation
|
|
310
|
-
- [ ] Examples include setup data (CREATE TABLE/INSERT) and execution output
|
|
311
|
-
- [ ] Critical warnings are inline next to parameters, not only at the bottom
|
|
312
|
-
- [ ] New files are registered in `SUMMARY.md`
|
|
313
|
-
- [ ] No filename typos (configration/worksapce/materialzied/informaiton/parquert/buckload)
|
|
314
|
-
- [ ] No emoji in headings
|
|
315
|
-
- [ ] New SQL function documents placed in the correct `sql_functions/` subdirectory
|
|
316
|
-
- [ ] Warning blocks use `> ⚠️ **Note**:` format
|
|
317
|
-
- [ ] Shell/cz-cli command code blocks annotated ` ```bash `, not ` ```Plain ` or ` ```Scala `
|
|
318
|
-
|
|
319
|
-
---
|
|
320
|
-
|
|
321
|
-
## Translation Rules (CN → EN)
|
|
322
|
-
|
|
323
|
-
When translating from the Chinese documentation:
|
|
324
|
-
|
|
325
|
-
| Chinese | English |
|
|
326
|
-
|---------|---------|
|
|
327
|
-
| 云器 | Singdata |
|
|
328
|
-
| ClickZetta / clickzetta | Singdata |
|
|
329
|
-
| `*.clickzetta.com` | `*.singdata.com` |
|
|
330
|
-
|
|
331
|
-
- Code blocks and SQL: preserve as-is, do not translate
|
|
332
|
-
- Image paths: preserve as-is
|
|
333
|
-
- Internal link filenames: keep consistent with the EN filename
|
|
334
|
-
- Files excluded from translation (use EN version directly): `pricing.md`, `user-aggrement.md`, `product-trial-agreement.md`, `billing.md`, `cost_management.md`, `account-funds.md`
|
|
335
|
-
- `llms.txt` and `llms-full.txt`: regenerate, do not translate
|
|
336
|
-
|
|
337
|
-
---
|
|
338
|
-
|
|
339
|
-
## File and Directory Management
|
|
340
|
-
|
|
341
|
-
### File Naming Conventions
|
|
342
|
-
|
|
343
|
-
- Separate words with hyphens `-` or underscores `_`, consistent with existing file style
|
|
344
|
-
- Do not use uppercase letters to start filenames (except SQL keyword documents, e.g., `ALTER-TABLE.md`)
|
|
345
|
-
- SQL function documents go in the appropriate `sql_functions/` subdirectory, not the root
|
|
346
|
-
|
|
347
|
-
### Complete Process for Renaming Files
|
|
348
|
-
|
|
349
|
-
1. `git mv <old> <new>` to rename
|
|
350
|
-
2. `grep -rl "<old-name>" --include="*.md" .` to find all documents referencing the old filename
|
|
351
|
-
3. Bulk replace old filename
|
|
352
|
-
4. Update `SUMMARY.md`
|
|
353
|
-
5. Grep again to confirm no remaining references
|
|
354
|
-
6. Commit all changes together
|
|
355
|
-
|
|
356
|
-
### macOS Case-Sensitivity Trap
|
|
357
|
-
|
|
358
|
-
macOS filesystem is case-insensitive — `CREATE-TABLE.md` and `create-table.md` appear to both exist locally, but git only has one. The Linux server (documentation publishing environment) is case-sensitive; uppercase links will 404.
|
|
359
|
-
|
|
360
|
-
**Always use `git ls-files <filename>` to confirm the actual filename in git** before acting — do not rely on macOS local `ls` results.
|
|
361
|
-
|
|
362
|
-
### SUMMARY.md
|
|
363
|
-
|
|
364
|
-
`SUMMARY.md` is the documentation table of contents. All additions, deletions, and renames must be synced here. Format:
|
|
365
|
-
|
|
366
|
-
```markdown
|
|
367
|
-
* [Document Title](filename.md)
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
### Image Storage
|
|
371
|
-
|
|
372
|
-
- Images are managed by the TopWrite platform, not through Git LFS
|
|
373
|
-
- Do not manually modify the `.topwrite/assets/` directory
|
|
374
|
-
- `.gitattributes` is configured to not use LFS for that directory
|
|
375
|
-
- `lfs.skipdownloaderrors true` is set locally; LFS prompts during pull do not affect usage
|
|
376
|
-
|
|
377
|
-
---
|
|
378
|
-
|
|
379
|
-
## Git Workflow
|
|
380
|
-
|
|
381
|
-
### Daily Development
|
|
382
|
-
|
|
383
|
-
Each collaborator maintains their own long-lived personal branch (e.g., `qiliang`); do not work directly on `master`.
|
|
384
|
-
|
|
385
|
-
**Before starting work**, sync the latest from master:
|
|
386
|
-
|
|
387
|
-
```bash
|
|
388
|
-
git checkout qiliang
|
|
389
|
-
GIT_LFS_SKIP_SMUDGE=1 git pull origin master --rebase
|
|
390
|
-
```
|
|
391
|
-
|
|
392
|
-
**Before merging to master**, rebase again to ensure no conflicts:
|
|
393
|
-
|
|
394
|
-
```bash
|
|
395
|
-
GIT_LFS_SKIP_SMUDGE=1 git pull origin master --rebase
|
|
396
|
-
|
|
397
|
-
git checkout master
|
|
398
|
-
GIT_LFS_SKIP_SMUDGE=1 git pull
|
|
399
|
-
git merge --ff-only qiliang
|
|
400
|
-
git push
|
|
401
|
-
git checkout qiliang
|
|
402
|
-
```
|
|
403
|
-
|
|
404
|
-
`--ff-only` errors immediately if rebase is incomplete, forcing you to finish the rebase before merging and avoiding merge commits.
|
|
405
|
-
|
|
406
|
-
### SUMMARY.md Conflict Resolution
|
|
407
|
-
|
|
408
|
-
Multiple people modifying SUMMARY.md simultaneously is the most common conflict scenario. When a conflict occurs during rebase, after manually resolving:
|
|
409
|
-
|
|
410
|
-
```bash
|
|
411
|
-
git add SUMMARY.md
|
|
412
|
-
git rebase --continue
|
|
413
|
-
```
|
|
414
|
-
|
|
415
|
-
If push is rejected (non-fast-forward), master has new commits — go back to your personal branch and rebase again:
|
|
416
|
-
|
|
417
|
-
```bash
|
|
418
|
-
git checkout qiliang
|
|
419
|
-
GIT_LFS_SKIP_SMUDGE=1 git pull origin master --rebase
|
|
420
|
-
```
|
|
421
|
-
|
|
422
|
-
### Before Pulling
|
|
423
|
-
|
|
424
|
-
- Run `git stash` if you have uncommitted changes
|
|
425
|
-
- Move untracked new files out of the way if they block rebase
|
|
426
|
-
|
|
427
|
-
### Files to Leave Alone
|
|
428
|
-
|
|
429
|
-
- `.topwrite/` directory: platform resource directory, do not modify manually
|
|
430
|
-
|
|
431
|
-
---
|
|
432
|
-
|
|
433
|
-
## Repository Information
|
|
434
|
-
|
|
435
|
-
- Remote: `git@k.topthink.com:4v2dmg3x2e/k7pl9zonpy.git`
|
|
436
|
-
- Main branch: `master`
|
|
437
|
-
- Frontend editor: https://4v2dmg3x2e.k.topthink.com/-/book/k7pl9zonpy/edit
|
|
438
|
-
|
|
439
|
-
---
|
|
440
|
-
|
|
441
|
-
## Architecture Diagram Standards
|
|
442
|
-
|
|
443
|
-
Architecture diagrams in product documentation are drawn as SVGs, stored in `/Users/liangmo/Desktop/lakehouse-diagrams/`, named `NN-description.svg` (e.g., `05-object-hierarchy.svg`). Convert to PNG with `rsvg-convert` when uploading to the documentation platform:
|
|
444
|
-
|
|
445
|
-
```bash
|
|
446
|
-
rsvg-convert -z 2 file.svg -o file.png
|
|
447
|
-
```
|
|
448
|
-
|
|
449
|
-
### Visual Standards
|
|
450
|
-
|
|
451
|
-
**Canvas and Background**
|
|
452
|
-
|
|
453
|
-
- Background gradient: `#EEF4FF` → `#E8F0FE` (left to right)
|
|
454
|
-
- Standard width: 900px or 960px; height adjusts to content, ensure content is not cramped
|
|
455
|
-
- Font: `'Inter','PingFang SC','Helvetica Neue',Arial,sans-serif`
|
|
456
|
-
|
|
457
|
-
**Cards and Containers**
|
|
458
|
-
|
|
459
|
-
- White card with shadow: `filter: feDropShadow dx=0 dy=2 stdDeviation=4 flood-color=#2563EB flood-opacity=0.09`
|
|
460
|
-
- Primary blue header: `#2563EB` → `#1D4ED8` (gradient)
|
|
461
|
-
- Deep blue header (instance level): `#1D4ED8` solid
|
|
462
|
-
- Light blue content area background: `#F0F6FF`, border `#BFDBFE`
|
|
463
|
-
- Chip/tag background: `#EFF6FF`, border `#BFDBFE`, text `#1E40AF`
|
|
464
|
-
- Corner radius: container `rx=14`, card `rx=10`, chip `rx=6~8`
|
|
465
|
-
|
|
466
|
-
**Text**
|
|
467
|
-
|
|
468
|
-
- Title (page level): `font-size=14~15`, `font-weight=700`, `fill=#1E3A8A`
|
|
469
|
-
- Card header text: `font-size=11~12`, `font-weight=700`, `fill=white`
|
|
470
|
-
- Body chip text: `font-size=9.5~10`, `fill=#1E40AF`
|
|
471
|
-
- Caption text: `font-size=9~9.5`, `fill=#64748B`
|
|
472
|
-
|
|
473
|
-
**Arrows**
|
|
474
|
-
|
|
475
|
-
Use solid-filled polygon markers, not stroke-only paths (which are invisible):
|
|
476
|
-
|
|
477
|
-
```xml
|
|
478
|
-
<marker id="arr" markerWidth="10" markerHeight="7" refX="10" refY="3.5" orient="auto">
|
|
479
|
-
<polygon points="0,0 10,3.5 0,7" fill="#2563EB"/>
|
|
480
|
-
</marker>
|
|
481
|
-
```
|
|
482
|
-
|
|
483
|
-
**Language**
|
|
484
|
-
|
|
485
|
-
All text in diagrams uses **English**.
|
|
486
|
-
|
|
487
|
-
### Object Hierarchy Color Conventions
|
|
488
|
-
|
|
489
|
-
| Level | Color |
|
|
490
|
-
|------|------|
|
|
491
|
-
| Instance header | `#1D4ED8` |
|
|
492
|
-
| Workspace header | `#2563EB` |
|
|
493
|
-
| Schema header | `#60A5FA` |
|
|
494
|
-
| GP VCluster | `#2563EB` → `#1D4ED8` |
|
|
495
|
-
| AP VCluster | `#059669` → `#047857` |
|
|
496
|
-
| Integration VCluster | `#7C3AED` → `#6D28D9` |
|
|
497
|
-
| Alibaba Cloud | `#FF6A00` |
|
|
498
|
-
| Tencent Cloud | `#0052D9` |
|
|
499
|
-
| AWS | `#F59E0B` |
|
|
500
|
-
|
|
501
|
-
### Layout Principles
|
|
502
|
-
|
|
503
|
-
- Elements in the same row have uniform width and consistent spacing; calculate coordinates mathematically
|
|
504
|
-
- Header bar rounded corners use two stacked rects: top one with rx, bottom one covering the lower straight corners
|
|
505
|
-
- Bottom caption bar: `fill=white opacity=0.7`, `rx=6~8`
|
|
506
|
-
- No redundant text inside diagrams; explanations go in the document body
|
|
507
|
-
|
|
508
|
-
---
|
|
509
|
-
|
|
510
|
-
## Animated Diagram (Animated SVG) Standards
|
|
511
|
-
|
|
512
|
-
Animated diagrams illustrate incremental computation, data flow, and other time-sequenced concepts. Filename prefix: `anim-NN-description.svg`, stored in the same directory. Animated diagrams are **not converted to PNG** — open directly in a browser to verify.
|
|
513
|
-
|
|
514
|
-
### Dark Theme Design System
|
|
515
|
-
|
|
516
|
-
Animated diagrams use a dark background to distinguish them from static diagrams with light blue backgrounds:
|
|
517
|
-
|
|
518
|
-
**Canvas**
|
|
519
|
-
- Background gradient: `#0D1117` → `#161B26` (top-left to bottom-right)
|
|
520
|
-
- Standard width: **960px** (consistent across all three diagrams)
|
|
521
|
-
- Height by content, typically 480–520px
|
|
522
|
-
- Canvas corner radius: `rx=16`
|
|
523
|
-
- Font: `'Inter','SF Pro Display','Helvetica Neue',Arial,sans-serif` (not SF Mono)
|
|
524
|
-
|
|
525
|
-
**Title and Subtitle (must be consistent across all three diagrams)**
|
|
526
|
-
- Title: `font-size=17`, `font-weight=700`, `fill=#F9FAFB`, `y=32`
|
|
527
|
-
- Subtitle: `font-size=10.5`, `fill=#4B5563`, `y=50`
|
|
528
|
-
- Title centered: `x=480 text-anchor=middle`
|
|
529
|
-
|
|
530
|
-
**Node Color Semantics**
|
|
531
|
-
| Purpose | Fill | Border |
|
|
532
|
-
|------|--------|--------|
|
|
533
|
-
| Data source / static node | `#1E293B` | `#374151` |
|
|
534
|
-
| Dynamic Table (compute layer) | `#2563EB`→`#1D4ED8` | `#3B82F6` |
|
|
535
|
-
| Output / consumption layer | `#059669`→`#047857` | `#059669` |
|
|
536
|
-
| Warning / problem | `#1F2937` | `#DC2626` |
|
|
537
|
-
| Advantage / benefit | `#0F172A` | `#059669` |
|
|
538
|
-
| Caption text (dark) | `#6B7280` | — |
|
|
539
|
-
| Caption text (light) | `#94A3B8` | — |
|
|
540
|
-
|
|
541
|
-
**SPOT Four-Principle Colors**
|
|
542
|
-
- S (Standard SQL): `#2563EB` / `#93C5FD`
|
|
543
|
-
- P (Performance): `#059669` / `#34D399`
|
|
544
|
-
- O (Open Format): `#7C3AED` / `#A78BFA`
|
|
545
|
-
- T (Trade-off): `#D97706` / `#FBBF24`
|
|
546
|
-
|
|
547
|
-
### CSS Animation Standards
|
|
548
|
-
|
|
549
|
-
**Flowing arrows (pipeline data flow)**
|
|
550
|
-
```css
|
|
551
|
-
@keyframes flow { 0%{stroke-dashoffset:40} 100%{stroke-dashoffset:0} }
|
|
552
|
-
.pipe { stroke-dasharray:8 4; animation:flow 1.2s linear infinite; }
|
|
553
|
-
```
|
|
554
|
-
|
|
555
|
-
**Node heartbeat glow**
|
|
556
|
-
```css
|
|
557
|
-
@keyframes glow {
|
|
558
|
-
0%,100% { filter:drop-shadow(0 0 4px #2563EB); opacity:0.88; }
|
|
559
|
-
50% { filter:drop-shadow(0 0 14px #60A5FA); opacity:1; }
|
|
560
|
-
}
|
|
561
|
-
.node { animation:glow 2s ease-in-out infinite; transform-origin:center; }
|
|
562
|
-
```
|
|
563
|
-
|
|
564
|
-
**Elements flying in one by one**
|
|
565
|
-
```css
|
|
566
|
-
@keyframes fly-in {
|
|
567
|
-
from { opacity:0; transform:translateX(-14px); }
|
|
568
|
-
to { opacity:1; transform:translateX(0); }
|
|
569
|
-
}
|
|
570
|
-
.item1 { animation:fly-in 0.4s 0.3s both; }
|
|
571
|
-
.item2 { animation:fly-in 0.4s 0.7s both; }
|
|
572
|
-
```
|
|
573
|
-
|
|
574
|
-
**Progress bar animation**
|
|
575
|
-
```css
|
|
576
|
-
@keyframes bar-grow { from{width:0} to{width:Xpx} }
|
|
577
|
-
.bar { animation:bar-grow 1.8s 0.5s ease-out forwards; width:0; }
|
|
578
|
-
```
|
|
579
|
-
> ⚠️ Do not use `width:100%` — use a fixed pixel value, otherwise it calculates relative to the parent container and overflows.
|
|
580
|
-
|
|
581
|
-
**Scan line (moving up and down within a container)**
|
|
582
|
-
|
|
583
|
-
CSS `transform:translateY` escapes `clipPath` bounds — use **SMIL `<animate>`** to drive the `y` attribute instead:
|
|
584
|
-
```xml
|
|
585
|
-
<clipPath id="cp"><rect x="20" y="86" width="258" height="212"/></clipPath>
|
|
586
|
-
<g clip-path="url(#cp)">
|
|
587
|
-
<rect x="20" y="86" width="258" height="10" fill="#60A5FA" opacity="0.4">
|
|
588
|
-
<animate attributeName="y" from="86" to="298" dur="2.4s" repeatCount="indefinite"/>
|
|
589
|
-
<animate attributeName="opacity" values="0;0.4;0.4;0" keyTimes="0;0.05;0.92;1" dur="2.4s" repeatCount="indefinite"/>
|
|
590
|
-
</rect>
|
|
591
|
-
</g>
|
|
592
|
-
```
|
|
593
|
-
|
|
594
|
-
### Multi-Diagram Consistency Checklist
|
|
595
|
-
|
|
596
|
-
Before publishing a set of animated diagrams, verify:
|
|
597
|
-
|
|
598
|
-
- [ ] Canvas width consistent (960px)
|
|
599
|
-
- [ ] Title font-size 17, color `#F9FAFB`, y=32
|
|
600
|
-
- [ ] Subtitle font-size 10.5, color `#4B5563`, y=50
|
|
601
|
-
- [ ] Font is `SF Pro Display` (not SF Mono)
|
|
602
|
-
- [ ] Background gradient IDs differ but colors are consistent (`#0D1117`→`#161B26`)
|
|
603
|
-
- [ ] Progress bar animation uses fixed px width, not `100%`
|
|
604
|
-
- [ ] Scan line uses SMIL `<animate>`, not CSS `transform:translateY`
|
|
605
|
-
- [ ] All text uses English
|
|
606
|
-
- [ ] Actually open in a browser to verify animation; do not rely on static screenshots
|