You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by gi...@apache.org on 2025/10/30 03:20:03 UTC

(dolphinscheduler-website) branch asf-site updated: Automated deployment: fbecbed7a5f4f0a787fae891869f6018b51e5793

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 8202579b1a Automated deployment: fbecbed7a5f4f0a787fae891869f6018b51e5793
8202579b1a is described below

commit 8202579b1aa02938eb018a9369f06a9d4b3481c1
Author: github-actions[bot] <gi...@users.noreply.github.com>
AuthorDate: Thu Oct 30 03:19:55 2025 +0000

    Automated deployment: fbecbed7a5f4f0a787fae891869f6018b51e5793
---
 data/doc/en-us.json                                |  1735 +
 data/doc/zh-cn.json                                |  1687 +
 fetch/deployment.json                              |     4 +
 fetch/doc/en-us/3.3.2.json                         |  1654 +
 fetch/doc/zh-cn/3.3.2.json                         |  1614 +
 fetch/download.json                                |    19 +
 fetch/faq/en-us/3.3.2.json                         |   234 +
 fetch/faq/version.json                             |     1 +
 fetch/faq/zh-cn/3.3.2.json                         |   234 +
 fetch/version.json                                 |     1 +
 pages/doc/en-us/3.3.2/DSIP.json                    |   120 +
 pages/doc/en-us/3.3.2/about/features.json          |    32 +
 pages/doc/en-us/3.3.2/about/glossary.json          |    33 +
 pages/doc/en-us/3.3.2/about/hardware.json          |    67 +
 pages/doc/en-us/3.3.2/about/introduction.json      |    11 +
 pages/doc/en-us/3.3.2/architecture/cache.json      |    11 +
 .../en-us/3.3.2/architecture/configuration.json    |   195 +
 pages/doc/en-us/3.3.2/architecture/design.json     |  1320 +
 .../doc/en-us/3.3.2/architecture/load-balance.json |   105 +
 pages/doc/en-us/3.3.2/architecture/metadata.json   |    64 +
 .../en-us/3.3.2/architecture/task-structure.json   |   154 +
 pages/doc/en-us/3.3.2/contribute/api-standard.json |   177 +
 pages/doc/en-us/3.3.2/contribute/api-test.json     |    76 +
 .../3.3.2/contribute/architecture-design.json      |  1963 +
 .../contribute/backend/mechanism/overview.json     |    12 +
 .../en-us/3.3.2/contribute/backend/spi/alert.json  |    39 +
 .../3.3.2/contribute/backend/spi/datasource.json   |    34 +
 .../3.3.2/contribute/backend/spi/registry.json     |    34 +
 .../en-us/3.3.2/contribute/backend/spi/task.json   |    24 +
 .../contribute/development-environment-setup.json  |  2472 +
 pages/doc/en-us/3.3.2/contribute/e2e-test.json     |    91 +
 .../3.3.2/contribute/frontend-development.json     | 23071 +++++++++
 .../doc/en-us/3.3.2/contribute/have-questions.json |    22 +
 .../en-us/3.3.2/contribute/join/DS-License.json    |    33 +
 .../3.3.2/contribute/join/become-a-committer.json  |    43 +
 .../en-us/3.3.2/contribute/join/code-conduct.json  |    33 +
 .../3.3.2/contribute/join/commit-message.json      |   265 +
 .../en-us/3.3.2/contribute/join/contribute.json    |    28 +
 .../doc/en-us/3.3.2/contribute/join/document.json  |    38 +
 .../doc/en-us/3.3.2/contribute/join/e2e-guide.json |    28 +
 pages/doc/en-us/3.3.2/contribute/join/issue.json   |    65 +
 .../en-us/3.3.2/contribute/join/microbench.json    |    33 +
 .../en-us/3.3.2/contribute/join/pull-request.json  |    75 +
 pages/doc/en-us/3.3.2/contribute/join/review.json  |    29 +
 .../3.3.2/contribute/join/security-model.json      |   261 +
 .../doc/en-us/3.3.2/contribute/join/security.json  |    18 +
 .../en-us/3.3.2/contribute/join/submit-code.json   |    12 +
 .../doc/en-us/3.3.2/contribute/join/subscribe.json |    12 +
 .../doc/en-us/3.3.2/contribute/join/unit-test.json |   135 +
 .../en-us/3.3.2/contribute/log-specification.json  |    97 +
 pages/doc/en-us/3.3.2/contribute/release.json      |  8796 ++++
 .../3.3.2/guide/alert/alert_plugin_user_guide.json |    18 +
 .../doc/en-us/3.3.2/guide/alert/aliyun-voice.json  |    24 +
 pages/doc/en-us/3.3.2/guide/alert/dingtalk.json    |    23 +
 pages/doc/en-us/3.3.2/guide/alert/email.json       |    12 +
 .../3.3.2/guide/alert/enterprise-webexteams.json   |   139 +
 .../en-us/3.3.2/guide/alert/enterprise-wechat.json |   129 +
 pages/doc/en-us/3.3.2/guide/alert/feishu.json      |    18 +
 pages/doc/en-us/3.3.2/guide/alert/http.json        |    24 +
 pages/doc/en-us/3.3.2/guide/alert/script.json      |    24 +
 pages/doc/en-us/3.3.2/guide/alert/slack.json       |    65 +
 pages/doc/en-us/3.3.2/guide/alert/telegram.json    |    35 +
 pages/doc/en-us/3.3.2/guide/api/healthcheck.json   |    64 +
 pages/doc/en-us/3.3.2/guide/api/open-api.json      |   120 +
 .../en-us/3.3.2/guide/api/pydolphinscheduler.json  |    11 +
 pages/doc/en-us/3.3.2/guide/datasource/athena.json |    23 +
 .../en-us/3.3.2/guide/datasource/azure-sql.json    |    75 +
 .../en-us/3.3.2/guide/datasource/clickhouse.json   |    23 +
 pages/doc/en-us/3.3.2/guide/datasource/dameng.json |    23 +
 .../doc/en-us/3.3.2/guide/datasource/databend.json |    23 +
 pages/doc/en-us/3.3.2/guide/datasource/db2.json    |    23 +
 .../en-us/3.3.2/guide/datasource/dolphindb.json    |    18 +
 pages/doc/en-us/3.3.2/guide/datasource/doris.json  |    23 +
 pages/doc/en-us/3.3.2/guide/datasource/hana.json   |    23 +
 pages/doc/en-us/3.3.2/guide/datasource/hive.json   |    33 +
 pages/doc/en-us/3.3.2/guide/datasource/kyuubi.json |    28 +
 pages/doc/en-us/3.3.2/guide/datasource/mysql.json  |    23 +
 .../en-us/3.3.2/guide/datasource/oceanbase.json    |    23 +
 pages/doc/en-us/3.3.2/guide/datasource/oracle.json |    23 +
 .../en-us/3.3.2/guide/datasource/postgresql.json   |    23 +
 pages/doc/en-us/3.3.2/guide/datasource/presto.json |    23 +
 .../doc/en-us/3.3.2/guide/datasource/redshift.json |    45 +
 .../en-us/3.3.2/guide/datasource/snowflake.json    |    28 +
 pages/doc/en-us/3.3.2/guide/datasource/spark.json  |    23 +
 .../en-us/3.3.2/guide/datasource/sqlserver.json    |    23 +
 pages/doc/en-us/3.3.2/guide/datasource/ssh.json    |    18 +
 .../en-us/3.3.2/guide/datasource/starrocks.json    |    23 +
 pages/doc/en-us/3.3.2/guide/datasource/trino.json  |    23 +
 .../doc/en-us/3.3.2/guide/datasource/vertica.json  |    23 +
 pages/doc/en-us/3.3.2/guide/demo.json              |   134 +
 .../doc/en-us/3.3.2/guide/expansion-reduction.json |    94 +
 pages/doc/en-us/3.3.2/guide/homepage.json          |    11 +
 .../en-us/3.3.2/guide/installation/cluster.json    |    60 +
 .../guide/installation/datasource-setting.json     |    60 +
 .../3.3.2/guide/installation/general-setting.json  |    27 +
 .../en-us/3.3.2/guide/installation/kubernetes.json |   561 +
 .../3.3.2/guide/installation/pseudo-cluster.json   |   180 +
 .../en-us/3.3.2/guide/installation/standalone.json |   116 +
 .../en-us/3.3.2/guide/integration/rainbond.json    |    43 +
 pages/doc/en-us/3.3.2/guide/metrics/metrics.json   |   257 +
 pages/doc/en-us/3.3.2/guide/monitor.json           |    84 +
 .../doc/en-us/3.3.2/guide/parameter/built-in.json  |    23 +
 pages/doc/en-us/3.3.2/guide/parameter/context.json |   107 +
 .../3.3.2/guide/parameter/file-parameter.json      |    75 +
 pages/doc/en-us/3.3.2/guide/parameter/global.json  |    76 +
 pages/doc/en-us/3.3.2/guide/parameter/local.json   |    91 +
 .../doc/en-us/3.3.2/guide/parameter/priority.json  |    18 +
 .../3.3.2/guide/parameter/project-parameter.json   |    45 +
 .../3.3.2/guide/parameter/startup-parameter.json   |   106 +
 .../en-us/3.3.2/guide/project/project-list.json    |    33 +
 .../en-us/3.3.2/guide/project/task-instance.json   |    45 +
 .../3.3.2/guide/project/workflow-definition.json   |   300 +
 .../3.3.2/guide/project/workflow-instance.json     |    38 +
 pages/doc/en-us/3.3.2/guide/remote-logging.json    |    67 +
 .../en-us/3.3.2/guide/resource/configuration.json  |    68 +
 .../en-us/3.3.2/guide/resource/file-manage.json    |   115 +
 pages/doc/en-us/3.3.2/guide/resource/intro.json    |    12 +
 .../doc/en-us/3.3.2/guide/resource/task-group.json |   135 +
 .../3.3.2/guide/security/authentication-type.json  |   121 +
 pages/doc/en-us/3.3.2/guide/security/security.json |   323 +
 pages/doc/en-us/3.3.2/guide/start/docker.json      |    96 +
 pages/doc/en-us/3.3.2/guide/start/quick-start.json |   208 +
 pages/doc/en-us/3.3.2/guide/task/appendix.json     |    18 +
 pages/doc/en-us/3.3.2/guide/task/chunjun.json      |   117 +
 pages/doc/en-us/3.3.2/guide/task/conditions.json   |    93 +
 pages/doc/en-us/3.3.2/guide/task/datasync.json     |    33 +
 pages/doc/en-us/3.3.2/guide/task/datax.json        |   117 +
 pages/doc/en-us/3.3.2/guide/task/dependent.json    |    33 +
 pages/doc/en-us/3.3.2/guide/task/dinky.json        |    57 +
 pages/doc/en-us/3.3.2/guide/task/dms.json          |    77 +
 pages/doc/en-us/3.3.2/guide/task/dvc.json          |   117 +
 pages/doc/en-us/3.3.2/guide/task/emr.json          |    93 +
 pages/doc/en-us/3.3.2/guide/task/flink.json        |   253 +
 pages/doc/en-us/3.3.2/guide/task/hive-cli.json     |    68 +
 pages/doc/en-us/3.3.2/guide/task/http.json         |    38 +
 pages/doc/en-us/3.3.2/guide/task/java.json         |    23 +
 pages/doc/en-us/3.3.2/guide/task/jupyter.json      |   169 +
 pages/doc/en-us/3.3.2/guide/task/kubeflow.json     |    77 +
 pages/doc/en-us/3.3.2/guide/task/kubernetes.json   |    93 +
 pages/doc/en-us/3.3.2/guide/task/linkis.json       |   117 +
 pages/doc/en-us/3.3.2/guide/task/map-reduce.json   |   373 +
 pages/doc/en-us/3.3.2/guide/task/mlflow.json       |   657 +
 pages/doc/en-us/3.3.2/guide/task/openmldb.json     |   229 +
 pages/doc/en-us/3.3.2/guide/task/python.json       |    77 +
 pages/doc/en-us/3.3.2/guide/task/pytorch.json      |   358 +
 pages/doc/en-us/3.3.2/guide/task/remoteshell.json  |    68 +
 pages/doc/en-us/3.3.2/guide/task/sagemaker.json    |    33 +
 pages/doc/en-us/3.3.2/guide/task/seatunnel.json    |   117 +
 pages/doc/en-us/3.3.2/guide/task/shell.json        |    93 +
 pages/doc/en-us/3.3.2/guide/task/spark.json        |   523 +
 pages/doc/en-us/3.3.2/guide/task/sql.json          |   241 +
 pages/doc/en-us/3.3.2/guide/task/sqoop.json        |    97 +
 .../en-us/3.3.2/guide/task/stored-procedure.json   |    23 +
 pages/doc/en-us/3.3.2/guide/task/sub-workflow.json |    79 +
 pages/doc/en-us/3.3.2/guide/task/switch.json       |    97 +
 pages/doc/en-us/3.3.2/guide/task/zeppelin.json     |    68 +
 .../en-us/3.3.2/guide/upgrade/incompatible.json    |    38 +
 pages/doc/en-us/3.3.2/guide/upgrade/upgrade.json   |   535 +
 pages/doc/zh-cn/3.3.2/DSIP.json                    |   120 +
 pages/doc/zh-cn/3.3.2/about/features.json          |    32 +
 pages/doc/zh-cn/3.3.2/about/glossary.json          |    28 +
 pages/doc/zh-cn/3.3.2/about/hardware.json          |    67 +
 pages/doc/zh-cn/3.3.2/about/introduction.json      |    11 +
 pages/doc/zh-cn/3.3.2/architecture/cache.json      |    11 +
 .../zh-cn/3.3.2/architecture/configuration.json    |    67 +
 pages/doc/zh-cn/3.3.2/architecture/design.json     |  1224 +
 .../doc/zh-cn/3.3.2/architecture/load-balance.json |   136 +
 pages/doc/zh-cn/3.3.2/architecture/metadata.json   |    64 +
 .../zh-cn/3.3.2/architecture/task-structure.json   |    77 +
 pages/doc/zh-cn/3.3.2/contribute/api-standard.json |   177 +
 pages/doc/zh-cn/3.3.2/contribute/api-test.json     |    76 +
 .../3.3.2/contribute/architecture-design.json      |  1963 +
 .../contribute/backend/mechanism/overview.json     |    12 +
 .../zh-cn/3.3.2/contribute/backend/spi/alert.json  |    39 +
 .../3.3.2/contribute/backend/spi/datasource.json   |    34 +
 .../3.3.2/contribute/backend/spi/registry.json     |    34 +
 .../zh-cn/3.3.2/contribute/backend/spi/task.json   |    24 +
 .../contribute/development-environment-setup.json  |  2472 +
 pages/doc/zh-cn/3.3.2/contribute/e2e-test.json     |    91 +
 .../3.3.2/contribute/frontend-development.json     | 47431 +++++++++++++++++++
 .../doc/zh-cn/3.3.2/contribute/have-questions.json |    22 +
 .../zh-cn/3.3.2/contribute/join/DS-License.json    |    68 +
 .../3.3.2/contribute/join/become-a-committer.json  |    43 +
 .../zh-cn/3.3.2/contribute/join/code-conduct.json  |    33 +
 .../3.3.2/contribute/join/commit-message.json      |   265 +
 .../zh-cn/3.3.2/contribute/join/contribute.json    |    28 +
 .../doc/zh-cn/3.3.2/contribute/join/document.json  |    38 +
 .../doc/zh-cn/3.3.2/contribute/join/e2e-guide.json |    28 +
 pages/doc/zh-cn/3.3.2/contribute/join/issue.json   |    85 +
 .../zh-cn/3.3.2/contribute/join/microbench.json    |    33 +
 .../zh-cn/3.3.2/contribute/join/pull-request.json  |    75 +
 pages/doc/zh-cn/3.3.2/contribute/join/review.json  |    29 +
 .../3.3.2/contribute/join/security-model.json      |   261 +
 .../doc/zh-cn/3.3.2/contribute/join/security.json  |    18 +
 .../zh-cn/3.3.2/contribute/join/submit-code.json   |    12 +
 .../doc/zh-cn/3.3.2/contribute/join/subscribe.json |    12 +
 .../doc/zh-cn/3.3.2/contribute/join/unit-test.json |   135 +
 .../zh-cn/3.3.2/contribute/log-specification.json  |    97 +
 pages/doc/zh-cn/3.3.2/contribute/release.json      | 10396 ++++
 .../3.3.2/guide/alert/alert_plugin_user_guide.json |    18 +
 .../doc/zh-cn/3.3.2/guide/alert/aliyun-voice.json  |    24 +
 pages/doc/zh-cn/3.3.2/guide/alert/dingtalk.json    |    12 +
 pages/doc/zh-cn/3.3.2/guide/alert/email.json       |    12 +
 .../3.3.2/guide/alert/enterprise-webexteams.json   |   118 +
 .../zh-cn/3.3.2/guide/alert/enterprise-wechat.json |    81 +
 pages/doc/zh-cn/3.3.2/guide/alert/feishu.json      |    18 +
 pages/doc/zh-cn/3.3.2/guide/alert/http.json        |    24 +
 pages/doc/zh-cn/3.3.2/guide/alert/script.json      |    12 +
 pages/doc/zh-cn/3.3.2/guide/alert/slack.json       |    65 +
 pages/doc/zh-cn/3.3.2/guide/alert/telegram.json    |    12 +
 pages/doc/zh-cn/3.3.2/guide/api/healthcheck.json   |    64 +
 pages/doc/zh-cn/3.3.2/guide/api/open-api.json      |   120 +
 .../zh-cn/3.3.2/guide/api/pydolphinscheduler.json  |    11 +
 pages/doc/zh-cn/3.3.2/guide/datasource/athena.json |    18 +
 .../zh-cn/3.3.2/guide/datasource/azure-sql.json    |    75 +
 pages/doc/zh-cn/3.3.2/guide/datasource/dameng.json |    18 +
 .../doc/zh-cn/3.3.2/guide/datasource/databend.json |    23 +
 .../zh-cn/3.3.2/guide/datasource/dolphindb.json    |    18 +
 pages/doc/zh-cn/3.3.2/guide/datasource/doris.json  |    18 +
 pages/doc/zh-cn/3.3.2/guide/datasource/hana.json   |    18 +
 pages/doc/zh-cn/3.3.2/guide/datasource/hive.json   |    28 +
 pages/doc/zh-cn/3.3.2/guide/datasource/kyuubi.json |    23 +
 pages/doc/zh-cn/3.3.2/guide/datasource/mysql.json  |    18 +
 .../zh-cn/3.3.2/guide/datasource/oceanbase.json    |    18 +
 pages/doc/zh-cn/3.3.2/guide/datasource/oracle.json |    18 +
 .../zh-cn/3.3.2/guide/datasource/postgresql.json   |    18 +
 .../doc/zh-cn/3.3.2/guide/datasource/redshift.json |    45 +
 .../zh-cn/3.3.2/guide/datasource/snowflake.json    |    23 +
 pages/doc/zh-cn/3.3.2/guide/datasource/spark.json  |    18 +
 pages/doc/zh-cn/3.3.2/guide/datasource/ssh.json    |    18 +
 .../zh-cn/3.3.2/guide/datasource/starrocks.json    |    18 +
 pages/doc/zh-cn/3.3.2/guide/datasource/trino.json  |    18 +
 .../doc/zh-cn/3.3.2/guide/datasource/vertica.json  |    18 +
 pages/doc/zh-cn/3.3.2/guide/demo.json              |   134 +
 .../doc/zh-cn/3.3.2/guide/expansion-reduction.json |    94 +
 pages/doc/zh-cn/3.3.2/guide/homepage.json          |    11 +
 .../zh-cn/3.3.2/guide/installation/cluster.json    |    44 +
 .../guide/installation/datasource-setting.json     |    63 +
 .../3.3.2/guide/installation/general-setting.json  |    27 +
 .../zh-cn/3.3.2/guide/installation/kubernetes.json |   561 +
 .../3.3.2/guide/installation/pseudo-cluster.json   |   180 +
 .../zh-cn/3.3.2/guide/installation/standalone.json |   108 +
 .../zh-cn/3.3.2/guide/integration/rainbond.json    |    43 +
 pages/doc/zh-cn/3.3.2/guide/metrics/metrics.json   |   257 +
 pages/doc/zh-cn/3.3.2/guide/monitor.json           |    84 +
 .../doc/zh-cn/3.3.2/guide/parameter/built-in.json  |    23 +
 pages/doc/zh-cn/3.3.2/guide/parameter/context.json |   107 +
 .../3.3.2/guide/parameter/file-parameter.json      |    75 +
 pages/doc/zh-cn/3.3.2/guide/parameter/global.json  |    55 +
 pages/doc/zh-cn/3.3.2/guide/parameter/local.json   |    91 +
 .../doc/zh-cn/3.3.2/guide/parameter/priority.json  |    18 +
 .../3.3.2/guide/parameter/project-parameter.json   |    45 +
 .../3.3.2/guide/parameter/startup-parameter.json   |   106 +
 .../zh-cn/3.3.2/guide/project/project-list.json    |    28 +
 .../zh-cn/3.3.2/guide/project/task-instance.json   |    23 +
 .../3.3.2/guide/project/workflow-definition.json   |   109 +
 .../3.3.2/guide/project/workflow-instance.json     |    38 +
 pages/doc/zh-cn/3.3.2/guide/remote-logging.json    |    67 +
 .../zh-cn/3.3.2/guide/resource/configuration.json  |    68 +
 .../zh-cn/3.3.2/guide/resource/file-manage.json    |   115 +
 pages/doc/zh-cn/3.3.2/guide/resource/intro.json    |    12 +
 .../doc/zh-cn/3.3.2/guide/resource/task-group.json |    85 +
 .../3.3.2/guide/security/authentication-type.json  |   121 +
 pages/doc/zh-cn/3.3.2/guide/security/security.json |   223 +
 pages/doc/zh-cn/3.3.2/guide/start/docker.json      |    96 +
 pages/doc/zh-cn/3.3.2/guide/start/quick-start.json |   208 +
 pages/doc/zh-cn/3.3.2/guide/task/appendix.json     |    18 +
 pages/doc/zh-cn/3.3.2/guide/task/chunjun.json      |    77 +
 pages/doc/zh-cn/3.3.2/guide/task/conditions.json   |    93 +
 pages/doc/zh-cn/3.3.2/guide/task/datasync.json     |    57 +
 pages/doc/zh-cn/3.3.2/guide/task/datax.json        |   118 +
 pages/doc/zh-cn/3.3.2/guide/task/dependent.json    |    33 +
 pages/doc/zh-cn/3.3.2/guide/task/dinky.json        |    57 +
 pages/doc/zh-cn/3.3.2/guide/task/dms.json          |    77 +
 pages/doc/zh-cn/3.3.2/guide/task/dvc.json          |   117 +
 pages/doc/zh-cn/3.3.2/guide/task/emr.json          |    77 +
 pages/doc/zh-cn/3.3.2/guide/task/flink.json        |   253 +
 pages/doc/zh-cn/3.3.2/guide/task/hive-cli.json     |    68 +
 pages/doc/zh-cn/3.3.2/guide/task/http.json         |    38 +
 pages/doc/zh-cn/3.3.2/guide/task/java.json         |    38 +
 pages/doc/zh-cn/3.3.2/guide/task/jupyter.json      |   169 +
 pages/doc/zh-cn/3.3.2/guide/task/kubeflow.json     |    77 +
 pages/doc/zh-cn/3.3.2/guide/task/kubernetes.json   |    93 +
 pages/doc/zh-cn/3.3.2/guide/task/linkis.json       |   117 +
 pages/doc/zh-cn/3.3.2/guide/task/map-reduce.json   |   289 +
 pages/doc/zh-cn/3.3.2/guide/task/mlflow.json       |   657 +
 pages/doc/zh-cn/3.3.2/guide/task/openmldb.json     |   165 +
 pages/doc/zh-cn/3.3.2/guide/task/python.json       |    93 +
 pages/doc/zh-cn/3.3.2/guide/task/pytorch.json      |   463 +
 pages/doc/zh-cn/3.3.2/guide/task/remoteshell.json  |    68 +
 pages/doc/zh-cn/3.3.2/guide/task/sagemaker.json    |    33 +
 pages/doc/zh-cn/3.3.2/guide/task/seatunnel.json    |   117 +
 pages/doc/zh-cn/3.3.2/guide/task/shell.json        |    93 +
 pages/doc/zh-cn/3.3.2/guide/task/spark.json        |   523 +
 pages/doc/zh-cn/3.3.2/guide/task/sql.json          |   241 +
 pages/doc/zh-cn/3.3.2/guide/task/sqoop.json        |    97 +
 .../zh-cn/3.3.2/guide/task/stored-procedure.json   |    18 +
 pages/doc/zh-cn/3.3.2/guide/task/sub-workflow.json |    93 +
 pages/doc/zh-cn/3.3.2/guide/task/switch.json       |    76 +
 pages/doc/zh-cn/3.3.2/guide/task/zeppelin.json     |    68 +
 .../zh-cn/3.3.2/guide/upgrade/incompatible.json    |    38 +
 pages/doc/zh-cn/3.3.2/guide/upgrade/upgrade.json   |   655 +
 python/2.0.5/.buildinfo                            |     2 +-
 python/2.0.6/.buildinfo                            |     2 +-
 python/2.0.7/.buildinfo                            |     2 +-
 python/3.0.0/.buildinfo                            |     2 +-
 python/3.0.1/.buildinfo                            |     2 +-
 python/3.1.0/.buildinfo                            |     2 +-
 python/4.0.0/.buildinfo                            |     2 +-
 python/4.0.1/.buildinfo                            |     2 +-
 python/4.0.2/.buildinfo                            |     2 +-
 python/4.0.3/.buildinfo                            |     2 +-
 python/4.0.4/.buildinfo                            |     2 +-
 python/4.1.0/.buildinfo                            |     2 +-
 python/main/.buildinfo                             |     2 +-
 315 files changed, 133305 insertions(+), 13 deletions(-)

diff --git a/data/doc/en-us.json b/data/doc/en-us.json
index 2d2916b757..bab7fbcf6d 100644
--- a/data/doc/en-us.json
+++ b/data/doc/en-us.json
@@ -37979,6 +37979,1741 @@
       "DSIP"
     ]
   },
+  {
+    "content": "About DolphinScheduler\nApache DolphinScheduler provides a distributed and easy to expand visual workflow task scheduling open-source platform. It is suitable for enterprise-level scenarios. It provides a solution to visualize operation tasks, workflows, and the entire data processing procedures.\nApache DolphinScheduler aims to solve complex big data task dependencies and to trigger relationships in data OPS orchestration for various big data applications. Solves the int [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/about/introduction",
+    "title": "About DolphinScheduler",
+    "location": [
+      "About",
+      "Introduction"
+    ]
+  },
+  {
+    "content": "Features\nSimple to Use\n\nVisual DAG: User-friendly drag-and-drop workflow definition and facility for run-time control.\nModular Operation: Modularity facilitates easy customization and maintenance.\n\nRich Scenarios\n\nMultiple Task Type Support: Supports more than 10 task types, like Shell, MR, Spark, SQL, etc., with cross-language support making it easy to extend\nWorkflow Ops: Workflow can be timed, paused, resumed and stopped, enabling easy maintenance and control  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/about/features",
+    "title": "Features",
+    "location": [
+      "About",
+      "Features"
+    ]
+  },
+  {
+    "content": "Hardware Environment\nThis section briefs about the hardware requirements for DolphinScheduler. DolphinScheduler works as an open-source distributed workflow task scheduling system. It can deploy and run smoothly in Intel architecture server environments and mainstream virtualization environments. It also supports mainstream Linux operating system environments and ARM architecture.\nLinux Operating System Version Requirements\nThe Linux operating systems specified below c [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/about/hardware",
+    "title": "Hardware Environment",
+    "location": [
+      "About",
+      "Hardware Environment"
+    ]
+  },
+  {
+    "content": "System Architecture Design\nBefore explaining the architecture of the scheduling system, let's first understand the commonly used terms of the\nscheduling system\n1.Glossary\nDAG: The full name is Directed Acyclic Graph, referred to as DAG. Tasks in the workflow are assembled in the\nform of a directed acyclic graph, and topological traversal is performed from nodes with zero in-degree until\nthere are no subsequent nodes. An example is shown below:\n\nProcess definition: [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/about/glossary",
+    "title": "System Architecture Design",
+    "location": [
+      "About",
+      "Glossary"
+    ]
+  },
+  {
+    "content": "Quick Start\nIn this section, we will use DolphinScheduler to create and run a simple workflow step by step. During this journey,\nyou will learn the basic concepts of DolphinScheduler and know the most basic configuration to run the workflow. We\nprovide both video and text in this tutorial, you can choose the way you prefer\nVideo Tutorial\n \n  \n\nText Tutorial\nSetup Dolphinscheduler\nYou have to install and start dolphinscheduler first before go ahead. For beginners [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/start/quick-start",
+    "title": "Quick Start",
+    "location": [
+      "Quick Start",
+      "Quick Start"
+    ]
+  },
+  {
+    "content": "Docker Quick Start\nThere are three ways to start DolphinScheduler with Docker\n\nStandalone-server is the way you find if you just want to start and try DolphinScheduler as a beginner.\ndocker-compose is for some who want to deploy DolphinScheduler in small or event middle scale workflows in their daily work.\nUsing exists postgresql and zookeeper server is for users who want to reuse the database or zookeeper server already exists.\n\nPrepare\nNeed to install Docker 1.1 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/start/docker",
+    "title": "Docker Quick Start",
+    "location": [
+      "Quick Start",
+      "Docker Deployment"
+    ]
+  },
+  {
+    "content": "Home Page\nApache DolphinScheduler home page lets you see task state statistics, workflow state statistics, and project statistics for all projects of users. It is the best way to observe status of your system as a whole as well as diving into individual process to check each status of task and task logs.\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/homepage",
+    "title": "Home Page",
+    "location": [
+      "Introduction to Functions",
+      "Application Homepage"
+    ]
+  },
+  {
+    "content": "Project\nThis page describes details regarding Project screen in Apache DolphinScheduler. Here, you will see all the functions which can be handled in this screen. The following table explains commonly used terms in Apache DolphinScheduler:\n\n\n\nGlossary\ndescription\n\n\n\n\nDAG\nTasks in a workflow are assembled in form of Directed Acyclic Graph (DAG). A topological traversal is performed from nodes with zero degrees of entry until there are no subsequent nodes.\n\n\n [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/project/project-list",
+    "title": "Project",
+    "location": [
+      "Introduction to Functions",
+      "Project",
+      "Project List"
+    ]
+  },
+  {
+    "content": "Workflow Definition\nOverview\nWork Definition screen shows list of existing workflows and utility to create or import workflows.\n\nCreate workflow definition\nClick Project Management -&gt; Workflow -&gt; Workflow Definition, enter the Workflow Definition page, and click the Create Workflow button to enter the workflow DAG edit page, as shown in the following figure:\n\nCreate Tasks to Workflow\nDrag from the toolbar  to the canvas, to add a shell task to the canvas, as [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/project/workflow-definition",
+    "title": "Workflow Definition",
+    "location": [
+      "Introduction to Functions",
+      "Project",
+      "Workflow Definition"
+    ]
+  },
+  {
+    "content": "Workflow Instance\nView Workflow Instance\nClick Project Management -&gt; Workflow -&gt; Workflow Instance, enter the Workflow Instance page, as shown in the following\nfigure:\n\nClick the workflow name to enter the DAG view page, and check the task execution status, as shown in the following\nfigure:\n\nView Task Log\nEnter the workflow instance page, click the workflow name, enter the DAG view page, double-click the task node, as shown\nin the following figure:\n\nClic [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/project/workflow-instance",
+    "title": "Workflow Instance",
+    "location": [
+      "Introduction to Functions",
+      "Project",
+      "Workflow Instance"
+    ]
+  },
+  {
+    "content": "Task Instance\nBatch Task Instance\nCreate Task Instance\nClick Project Management -&gt; Workflow -&gt; Task Instance to enter the task instance page, as shown in the figure below, click the name of the workflow instance to jump to the DAG diagram of the workflow instance to view the task status.\n\nView Log\nClick the View Log button in the operation column to view the log of the task execution\n\nStream Task Instance\n-Switch to the stream task instance page, as shown i [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/project/task-instance",
+    "title": "Task Instance",
+    "location": [
+      "Introduction to Functions",
+      "Project",
+      "Task Instance"
+    ]
+  },
+  {
+    "content": "DolphinScheduler Task Parameters Appendix\nDolphinScheduler task plugins share some common default parameters. Each type of task contains all or some default parameters as follows:\nDefault Task Parameters\n\n\n\nParameter\nDescription\n\n\n\n\nNode Name\nThe name of the task. Node names within the same workflow must be unique.\n\n\nRun Flag\nIndicating whether to schedule the task. If you do not need to execute the task, you can turn on the Prohibition execution switch.\ [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/appendix",
+    "title": "DolphinScheduler Task Parameters Appendix",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Appendix"
+    ]
+  },
+  {
+    "content": "Shell\nOverview\nShell task type, used to create a shell type task and execute a series of shell scripts. When the worker executes this task, a temporary shell script is generated and executed using the linux user with the same name as the tenant.\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and click the Create Workflow button to enter the DAG editing page.\nDrag  from the toolbar  to the canvas.\n\nTask Parameters\n\nPlease refe [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/shell",
+    "title": "Shell",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Shell"
+    ]
+  },
+  {
+    "content": "SubWorkflow Node\nOverview\nThe sub-workflow node is to execute an external workflow definition as a task node.\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and click the Create Workflow button to enter the DAG editing page.\nDrag from the toolbar  task node to canvas to create a new SubWorkflow task.\n\nTask Parameter\n\nPlease refer to DolphinScheduler Task Parameters Appendix Default Task Parameters section for default paramete [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/sub-workflow",
+    "title": "SubWorkflow Node",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "SubWorkflow"
+    ]
+  },
+  {
+    "content": "Dependent\nOverview\nDependent nodes are dependency check nodes. For example, process A depends on the successful execution of process B from yesterday, and the dependent node will check whether process B run successful yesterday.\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and click the Create Workflow button to enter the DAG editing page.\nDrag from the toolbar  task node to canvas.\n\nTask Parameter\n\nPlease refer to DolphinS [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/dependent",
+    "title": "Dependent",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Dependent"
+    ]
+  },
+  {
+    "content": "Stored Procedure\n\nExecute the stored procedure according to the selected DataSource.\n\n\nDrag from the PROCEDURE task node into the canvas, as shown in the figure below:\n\n\n   \n \nTask Parameters\n\nPlease refer to DolphinScheduler Task Parameters Appendix Default Task Parameters section for default parameters.\n\n\n\n\nParameter\nDescription\n\n\n\n\nDataSource\nThe DataSource type of the stored procedure supports MySQL and POSTGRESQL, select the corresponding Data [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/stored-procedure",
+    "title": "Stored Procedure",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Stored Procedure"
+    ]
+  },
+  {
+    "content": "SQL\nOverview\nSQL task type used to connect to databases and execute SQL.\nCreate DataSource\nRefer to datasource-setting DataSource Center section\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and click the Create Workflow button to enter the DAG editing page.\nDrag from the toolbar  to the canvas.\n\nTask Parameter\n\nPlease refer to DolphinScheduler Task Parameters Appendix Default Task Parameters section for default parameters [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/sql",
+    "title": "SQL",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "SQL"
+    ]
+  },
+  {
+    "content": "Spark Node\nOverview\nSpark task type for executing Spark application. When executing the Spark task, the worker will submits a job to the Spark cluster by following commands:\n(1) spark submit method to submit tasks. See spark-submit for more details.\n(2) spark sql method to submit tasks. See spark sql for more details.\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and click the Create Workflow button to enter the DAG editing pag [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/spark",
+    "title": "Spark Node",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Spark"
+    ]
+  },
+  {
+    "content": "MapReduce Node\nOverview\nMapReduce(MR) task type used for executing MapReduce programs. For MapReduce nodes, the worker submits the task by using the Hadoop command hadoop jar. See Hadoop Command Manual for more details.\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and click the Create Workflow button to enter the DAG editing page.\nDrag from the toolbar  to the canvas.\n\nTask Parameters\n\nPlease refer to DolphinScheduler Task  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/map-reduce",
+    "title": "MapReduce Node",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "MapReduce"
+    ]
+  },
+  {
+    "content": "Python Node\nOverview\nUse Python Task to create a python-type task and execute python scripts. When the worker executes Python Task,\nit will generate a temporary python script, and executes the script by the Linux user with the same name as the tenant.\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and click the Create Workflow button to enter the DAG editing page.\nDrag  from the toolbar to the canvas.\n\nTask Parameter\n\nPlease [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/python",
+    "title": "Python Node",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Python"
+    ]
+  },
+  {
+    "content": "Flink Node\nOverview\nFlink task type, used to execute Flink programs. For Flink nodes:\n\n\nWhen the program type is Java, Scala or Python, the worker submits the task flink run using the Flink command. See flink cli for more details.\n\n\nWhen the program type is SQL, the worker submit tasks using sql-client.sh. See flink sql client for more details.\n\n\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and click the Create Workflow  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/flink",
+    "title": "Flink Node",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Flink"
+    ]
+  },
+  {
+    "content": "HTTP Node\nOverview\nThis node is used to perform http type tasks and also supports http request validation and other functions.\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and click the Create Workflow button to enter the DAG editing page.\nDrag the  from the toolbar to the drawing board.\n\nTask Parameters\n\nPlease refer to DolphinScheduler Task Parameters Appendix Default Task Parameters section for default parameters.\n\n\n\ [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/http",
+    "title": "HTTP Node",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "HTTP"
+    ]
+  },
+  {
+    "content": "DataX\nOverview\nDataX task type for executing DataX programs. For DataX nodes, the worker will execute ${DATAX_LAUNCHER} to analyze the input json file.\nPlease set environment name PYTHON_LAUNCHER and DATAX_LAUNCHER in dolphinshceduler_env.sh before you run datax task, some of datax release version only support python2.7\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and click the Create Workflow button to enter the DAG editing pa [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/datax",
+    "title": "DataX",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "DataX"
+    ]
+  },
+  {
+    "content": "Sqoop Node\nOverview\nSqoop task type for executing Sqoop application. The workers run sqoop to execute  sqoop tasks.\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and click the Create Workflow button to enter the DAG editing page.\nDrag from the toolbar  to the canvas.\n\nTask Parameters\n\nPlease refer to DolphinScheduler Task Parameters Appendix Default Task Parameters section for default parameters.\n\n\n\n\nParameter\nDescript [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/sqoop",
+    "title": "Sqoop Node",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Sqoop"
+    ]
+  },
+  {
+    "content": "Conditions\nCondition is a conditional node, that determines which downstream task should run based on the condition of the upstream task. Currently, the Conditions support multiple upstream tasks, but only two downstream tasks. When the number of upstream tasks exceeds one, achieve complex upstream dependencies by through and and or operators.\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and click the Create Workflow button to en [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/conditions",
+    "title": "Conditions",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Conditions"
+    ]
+  },
+  {
+    "content": "Switch\nOverview\nThe switch is a conditional judgment node, decide the branch executes according to the value of global variable and the expression result written by the user.\nNote: Execute expressions using javax.script.ScriptEngine.eval.\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and click the Create Workflow button to enter the DAG editing page.\nDrag from the toolbar  task node to canvas to create a task.\n\nNote: After cr [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/switch",
+    "title": "Switch",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Switch"
+    ]
+  },
+  {
+    "content": "Apache SeaTunnel\nOverview\nSeaTunnel task type for creating and executing SeaTunnel tasks. When the worker executes this task, it will parse the config file through the start-seatunnel-spark.sh , start-seatunnel-flink.sh or seatunnel.sh command.\nClick here for more information about Apache SeaTunnel.\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and click the &quot;Create Workflow&quot; button to enter the DAG editing page.\nDrag [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/seatunnel",
+    "title": "Apache SeaTunnel",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "SeaTunnel"
+    ]
+  },
+  {
+    "content": "Amazon EMR\nOverview\nAmazon EMR task type, for operation EMR clusters on AWS and running computing tasks.\nUsing aws-java-sdk in the background code, to transfer JSON parameters to task object and submit to AWS, Two program types are currently supported:\n\nRUN_JOB_FLOW Using API_RunJobFlow submit RunJobFlowRequest object\nADD_JOB_FLOW_STEPS Using API_AddJobFlowSteps submit AddJobFlowStepsRequest object\n\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt;  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/emr",
+    "title": "Amazon EMR",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Amazon EMR"
+    ]
+  },
+  {
+    "content": "Apache Zeppelin\nOverview\nUse Zeppelin Task to create a zeppelin-type task and execute zeppelin notebook paragraphs. When the worker executes Zeppelin Task,\nit will call Zeppelin Client API to trigger zeppelin notebook paragraph. Click here for details about Apache Zeppelin Notebook.\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and click the Create Workflow button to enter the DAG editing page.\nDrag  from the toolbar to the can [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/zeppelin",
+    "title": "Apache Zeppelin",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Apache Zeppelin"
+    ]
+  },
+  {
+    "content": "Jupyter\nOverview\nUse Jupyter Task to create a jupyter-type task and execute jupyter notes. When the worker executes Jupyter Task,\nit will use papermill to evaluate jupyter notes. Click here for details about papermill.\nConda Configuration\n\nConfig conda.path in common.properties to the path of your conda.sh, which should be the same conda you use to manage the python environment of your papermill and jupyter.\nClick here for more information about conda.\nconda.path  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/jupyter",
+    "title": "Jupyter",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Jupyter"
+    ]
+  },
+  {
+    "content": "Hive CLI\nOverview\nUse Hive Cli Task to create a Hive Cli type task and execute hive SQL from scripts or files.\nThe workers run hive -e to execute hive sql from scripts or hive -f to execute from files in Resource Center.\nHive CLI Task vs SQL Task With Hive Datasource\nIn DolphinScheduler, we have both Hive CLI Task and SQL Task With Hive Datasource for different scenarios.\nYou could choose between these two based on your needs.\n\nThe Hive CLI task plugin connects di [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/hive-cli",
+    "title": "Hive CLI",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Hive CLI"
+    ]
+  },
+  {
+    "content": "K8S Node\nOverview\nK8S task type used to execute a batch task. In this task, the worker submits the task by using a k8s client.\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and click the Create Workflow button to enter the DAG editing page.\nDrag from the toolbar  to the canvas.\n\nTask Parameters\n\nPlease refer to DolphinScheduler Task Parameters Appendix Default Task Parameters section for default parameters.\n\n\n\n\nParamete [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/kubernetes",
+    "title": "K8S Node",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Kubernetes"
+    ]
+  },
+  {
+    "content": "MLflow Node\nOverview\nMLflow is an excellent open source platform to manage the ML lifecycle, including experimentation,\nreproducibility, deployment, and a central model registry.\nMLflow task plugin used to execute MLflow tasks, Currently contains MLflow Projects and MLflow Models. (Model Registry will soon be rewarded for support)\n\nMLflow Projects: Package data science code in a format to reproduce runs on any platform.\nMLflow Models: Deploy machine learning models [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/mlflow",
+    "title": "MLflow Node",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "MLflow"
+    ]
+  },
+  {
+    "content": "OpenMLDB Node\nOverview\nOpenMLDB is an excellent open source machine learning database, providing a full-stack\nFeatureOps solution for production.\nOpenMLDB task plugin used to execute tasks on OpenMLDB cluster.\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and click the Create Workflow button to enter the DAG editing page.\nDrag from the toolbar  task node to canvas.\n\nTask Parameters\n\nPlease refer to DolphinScheduler Task Pa [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/openmldb",
+    "title": "OpenMLDB Node",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Openmldb"
+    ]
+  },
+  {
+    "content": "DVC Node\nOverview\nDVC (Data Version Control) is an excellent open-source  version control system for machine learning projects.\nThe DVC plugin is used to use the data version management function of DVC on DolphinScheduler, helping users to carry out data version management easily.\nThe plugin provides the following three functions:\n\nInit DVC: Initialize the Git repository as a DVC repository and bind the address where the data is stored to store the actual data.\nUpl [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/dvc",
+    "title": "DVC Node",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "DVC"
+    ]
+  },
+  {
+    "content": "Dinky\nOverview\nUse Dinky Task to create a dinky-type task and support one-stop development, debugging, operation and maintenance of FlinkSql, Flink jar and SQL. When the worker executes Dinky Task,\nit will call Dinky API to trigger dinky task. Click here for details about Dinky.\nCreate Task\n\nClick Project Management-Project Name-Workflow Definition, and click the &quot;Create Workflow&quot; button to enter the DAG editing page.\nDrag  from the toolbar to the canvas. [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/dinky",
+    "title": "Dinky",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Dinky"
+    ]
+  },
+  {
+    "content": "Overview\nThis node is used to execute tasks of the Java type and supports running jar packages of the FAT_JAR and NORMAL_JAR types.\nCreate Tasks\n\n\nClick on Project Management -&gt; Project Name -&gt; Workflow Definition, click on the “Create workflow” button, go to the DAG edit page:\n\n\nDrag the toolbar's Java task node to the palette.\n\n\nTask Parameters\n\nPlease refer to DolphinScheduler Task Parameters Appendix Default Task Parameters section for default param [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/java",
+    "title": "Overview",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Java"
+    ]
+  },
+  {
+    "content": "SageMaker Node\nOverview\nAmazon SageMaker is a fully managed machine learning service. With Amazon SageMaker, data scientists and developers can quickly build and train machine learning models, and then deploy them into a production-ready hosted environment.\nAmazon SageMaker Model Building Pipelines is a tool for building machine learning pipelines that take advantage of direct SageMaker integration.\nFor users using big data and machine learning, SageMaker task plugin  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/sagemaker",
+    "title": "SageMaker Node",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "SageMaker"
+    ]
+  },
+  {
+    "content": "ChunJun\nOverview\nChunJun task type for executing ChunJun programs. For ChunJun nodes, the worker will execute ${CHUNJUN_HOME}/bin/start-chunjun to analyze the input json file.\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and click the Create Workflow button to enter the DAG editing page.\nDrag the  from the toolbar to the drawing board.\n\nTask Parameters\n\nPlease refer to DolphinScheduler Task Parameters Appendix Default Task  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/chunjun",
+    "title": "ChunJun",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "ChunJun"
+    ]
+  },
+  {
+    "content": "Pytorch Node (experimental)\nOverview\nPytorch is a mainstream Python machine learning library.\nPytorch task plugin enables users to run Pytorch projects in DolphinScheduler more conveniently. In addition, it supports handy Python environment management.\nPytorch task plugin is more than Python task plugin, which allows users to conveniently use existing Python environments or create new ones (using Virtualenv or Conda). It supports running Python projects (native or Git [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/pytorch",
+    "title": "Pytorch Node (experimental)",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Pytorch"
+    ]
+  },
+  {
+    "content": "DMS Node\nOverview\nAWS Database Migration Service (AWS DMS) helps you migrate databases to AWS quickly and securely.\nThe source database remains fully operational during the migration, minimizing downtime to applications that rely on the database.\nThe AWS Database Migration Service can migrate your data to and from the most widely used commercial and open-source databases.\nDMS task plugin can help users to create and start DMS tasks in DolphinScheduler more convenient [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/dms",
+    "title": "DMS Node",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Amazon DMS"
+    ]
+  },
+  {
+    "content": "DataSync Node\nOverview\nAWS DataSync is an online data transfer service that simplifies, automates, and accelerates moving data between on-premises storage systems and AWS Storage services, as well as between AWS Storage services.\nDataSync can copy data to and from:\n\nNetwork File System (NFS) file servers\nServer Message Block (SMB) file servers\nHadoop Distributed File System (HDFS)\nObject storage systems\nAmazon Simple Storage Service (Amazon S3) buckets\nAmazon EF [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/datasync",
+    "title": "DataSync Node",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "AWS Datasync"
+    ]
+  },
+  {
+    "content": "Kubeflow Node\nOverview\nKubeflow task type is used to create tasks on Kubeflow.\nThe backend mainly uses the kubectl command to create kubeflow tasks, and continues to monitor the resource status on Kubeflow until the task is completed.\nNow it mainly supports creating kubeflow tasks using yaml files. If you need to publish kubeflow pipeline tasks, you can use the python task type.\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/kubeflow",
+    "title": "Kubeflow Node",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Kubeflow"
+    ]
+  },
+  {
+    "content": "Apache Linkis\nOverview\nLinkis task type for creating and executing Linkis tasks. When the worker executes this task, it will parse the shell parameters through the linkis-cli command.\nClick here for more information about Apache Linkis.\nCreate Task\n\nClick Project Management -&gt; Project Name -&gt; Workflow Definition, and click the &quot;Create Workflow&quot; button to enter the DAG editing page.\nDrag the  from the toolbar to the drawing board.\n\nTask Parameter\n [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/linkis",
+    "title": "Apache Linkis",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Apache Linkis"
+    ]
+  },
+  {
+    "content": "RemoteShell\nOverview\nRemoteShell task type is used to execute commands on remote servers.\nCreate Task\n\n\nClick Project Management-Project Name-Workflow Definition, click the &quot;Create Workflow&quot; button to enter the DAG editing page.\n\n\nDrag  from the toolbar to the canvas to complete the creation.\n\n\nTask Parameters\n\nPlease refer to DolphinScheduler Task Parameters Appendix Default Task Parameters section for default parameters.\nSSH Data Source: Select  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/remoteshell",
+    "title": "RemoteShell",
+    "location": [
+      "Introduction to Functions",
+      "Task",
+      "Remote Shell"
+    ]
+  },
+  {
+    "content": "Built-in Parameter\nBasic Built-in Parameter\n\n\n\nVariable\nDeclaration Method\nMeaning\n\n\n\n\nsystem.biz.date\n${system.biz.date}\nThe day before the schedule time of the daily scheduling instance, the format is yyyyMMdd\n\n\nsystem.biz.curdate\n${system.biz.curdate}\nThe schedule time of the daily scheduling instance, the format is yyyyMMdd\n\n\nsystem.datetime\n${system.datetime}\nThe schedule time of the daily scheduling instance, the format is yyyyMMddHHmmss\n\n\ [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/parameter/built-in",
+    "title": "Built-in Parameter",
+    "location": [
+      "Introduction to Functions",
+      "Parameter",
+      "Built-in Parameter"
+    ]
+  },
+  {
+    "content": "Global Parameter\nScope\nGlobal parameters can be configured on the workflow definition page.\nThe IN direction parameter is valid for all task nodes of the entire workflow.\nThe OUT direction parameter is the output parameter of the workflow and passed to the downstream task of the corresponding SubProcess task in the parent workflow.\nUsage\nThe specific use method can be determined according to the actual production situation. This example uses a shell task to print ou [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/parameter/global",
+    "title": "Global Parameter",
+    "location": [
+      "Introduction to Functions",
+      "Parameter",
+      "Global Parameter"
+    ]
+  },
+  {
+    "content": "Local Parameter\nScope\nParameters configured on the task definition page, the scope of this parameter is inside this task only. But if you configure according to Refer to Parameter Context, it could pass to downstream tasks.\nUsage\n\nIf you want to use parameter in single task, see local parameter with custom parameter.\nIf you want to use set parameter in task and use them in downstream tasks:\n\nFor simple use without using custom parameter, see export parameter via s [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/parameter/local",
+    "title": "Local Parameter",
+    "location": [
+      "Introduction to Functions",
+      "Parameter",
+      "Local Parameter"
+    ]
+  },
+  {
+    "content": "Project-level Parameter\nScope\nProject-level parameters are valid for all task nodes under the entire project.\nUsage\nDefine project-level parameters\nOn the project page, click Project Parameters and Create Parameters, and fill in the parameter name and parameter value, select the appropriate parameter value type. As shown below:\n\nUse project-level parameters\nTake the shell task as an example, enter echo ${param} in the script content, where param is the project-lev [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/parameter/project-parameter",
+    "title": "Project-level Parameter",
+    "location": [
+      "Introduction to Functions",
+      "Parameter",
+      "Project-level Parameter"
+    ]
+  },
+  {
+    "content": "Parameter Context\nDolphinScheduler provides the ability to refer to each other between parameters, including local parameters refer to global parameters and upstream and downstream parameter transfer. Due to the existence of references, it involves the priority of parameters when the parameter names are the same. see also Parameter Priority\nLocal Task Refers to Global Parameter\nThe premise of local tasks referring global parameters is that you have already defined Glob [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/parameter/context",
+    "title": "Parameter Context",
+    "location": [
+      "Introduction to Functions",
+      "Parameter",
+      "Parameter Context"
+    ]
+  },
+  {
+    "content": "Parameter Priority\nDolphinScheduler has three parameter types:\n\nProject-level Parameter: parameters defined at the project management page.\nGlobal Parameter: parameters defined at the workflow define page.\nStartup Parameter: parameters defined at the workflow launch page.\nParameter Context: parameters passed by upstream task nodes.\nLocal Parameter: parameters belong to its node, which is the parameters defined by the user in [Custom Parameters].\n\nThe user can def [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/parameter/priority",
+    "title": "Parameter Priority",
+    "location": [
+      "Introduction to Functions",
+      "Parameter",
+      "Parameter Priority"
+    ]
+  },
+  {
+    "content": "FILE Parameter\nUse the file parameter to pass files (or folders, hereinafter referred to as files) in the working directory of the upstream task to the downstream task in the same workflow instance. The following scenarios may be used\n\nIn the ETL task, pass the data files processed by multiple upstream tasks to a specific downstream task.\nIn the machine learning scenario, pass the data set file of the upstream data preparation task to the downstream model training tas [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/parameter/file-parameter",
+    "title": "FILE Parameter",
+    "location": [
+      "Introduction to Functions",
+      "Parameter",
+      "File Parameter"
+    ]
+  },
+  {
+    "content": "Startup Parameter\nScope\nParameters are valid for all task nodes of the entire workflow. It can be configured on the task launch page.\nUsage\nUsage of startup parameters is: at the task launch page, click the '+' below the 'Startup Parameter' and fill in the key and value, select the appropriate parameter value type then to save. The workflow will add them into global parameters.\nExample\nThis example shows how to use startup parameters to print different date.\nCreate [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/parameter/startup-parameter",
+    "title": "Startup Parameter",
+    "location": [
+      "Introduction to Functions",
+      "Parameter",
+      "StartUp Parameter"
+    ]
+  },
+  {
+    "content": "MySQL\n\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect MYSQL.\n\n\nDatasource name\nEnter the name of the DataSource.\n\n\nDescription\nEnter a description of the DataSource.\n\n\nIP/Host Name\nEnter the MYSQL service IP.\n\n\nPort\nEnter the MYSQL service port.\n\n\nUsername\nSet the username for MYSQL connection.\n\n\nPassword\nSet the password for MYSQL connection.\n\n\nDatabase name\nEnter the database name of the MYSQL connection.\n [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/mysql",
+    "title": "MySQL",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "MySQL"
+    ]
+  },
+  {
+    "content": "PostgreSQL\n\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect POSTGRESQL.\n\n\nDatasource name\nEnter the name of the DataSource.\n\n\nDescription\nEnter a description of the DataSource.\n\n\nIP/Host Name\nEnter the PostgreSQL service IP.\n\n\nPort\nEnter the PostgreSQL service port.\n\n\nUsername\nSet the username for PostgreSQL connection.\n\n\nPassword\nSet the password for PostgreSQL connection.\n\n\nDatabase name\nEnter the database n [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/postgresql",
+    "title": "PostgreSQL",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "PostgreSQL"
+    ]
+  },
+  {
+    "content": "HIVE\nUse HiveServer2\n\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect HIVE.\n\n\nDatasource name\nEnter the name of the DataSource.\n\n\nDescription\nEnter a description of the DataSource.\n\n\nIP/Host Name\nEnter the HIVE service IP.\n\n\nPort\nEnter the HIVE service port.\n\n\nUsername\nSet the username for HIVE connection.\n\n\nPassword\nSet the password for HIVE connection.\n\n\nDatabase name\nEnter the database name of the HIVE con [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/hive",
+    "title": "HIVE",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "HIVE"
+    ]
+  },
+  {
+    "content": "SNOWFLAKE\nUse Snowflake\n\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect SNOWFLAKE.\n\n\nDatasource name\nEnter the name of the DataSource.\n\n\nDescription\nEnter a description of the DataSource.\n\n\nIP/Host Name\nEnter the SNOWFLAKE service IP.\n\n\nPort\nEnter the SNOWFLAKE service port.\n\n\nUsername\nSet the username for SNOWFLAKE connection.\n\n\nPassword\nSet the password for SNOWFLAKE connection.\n\n\nDatabase name\nEnter the d [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/snowflake",
+    "title": "SNOWFLAKE",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "SNOWFLAKE"
+    ]
+  },
+  {
+    "content": "KYUUBI\nUse HiveServer2\n\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect KYUUBI.\n\n\nDatasource name\nEnter the name of the DataSource.\n\n\nDescription\nEnter a description of the DataSource.\n\n\nIP/Host Name\nEnter the KYUUBI service IP.\n\n\nPort\nEnter the KYUUBI service port.\n\n\nUsername\nSet the username for KYUUBI connection.\n\n\nPassword\nSet the password for KYUUBI connection.\n\n\nDatabase name\nEnter the database name of  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/kyuubi",
+    "title": "KYUUBI",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "KYUUBI"
+    ]
+  },
+  {
+    "content": "Spark\n\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect Spark.\n\n\nDatasource name\nEnter the name of the DataSource.\n\n\nDescription\nEnter a description of the DataSource.\n\n\nIP/Host Name\nEnter the Spark service IP.\n\n\nPort\nEnter the Spark service port.\n\n\nUsername\nSet the username for Spark connection.\n\n\nPassword\nSet the password for Spark connection.\n\n\nDatabase name\nEnter the database name of the Spark connection.\n [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/spark",
+    "title": "Spark",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "Spark"
+    ]
+  },
+  {
+    "content": "Presto\n\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect Presto.\n\n\nDatasource Name\nEnter the name of the datasource.\n\n\nDescription\nEnter a description of the datasource.\n\n\nIP/Host Name\nEnter the Presto service IP.\n\n\nPort\nEnter the Presto service port.\n\n\nUsername\nSet the username for Presto connection.\n\n\nPassword\nSet the password for Presto connection.\n\n\nDatabase Name\nEnter the database name of the Presto connec [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/presto",
+    "title": "Presto",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "Presto"
+    ]
+  },
+  {
+    "content": "SQL Server\n\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect SQLSERVER.\n\n\nDatasource Name\nEnter the name of the datasource.\n\n\nDescription\nEnter a description of the datasource.\n\n\nIP/Host Name\nEnter the SQLSERVER service IP.\n\n\nPort\nEnter the SQLSERVER service port.\n\n\nUsername\nSet the username for SQLSERVER connection.\n\n\nPassword\nSet the password for SQLSERVER connection.\n\n\nDatabase Name\nEnter the database name o [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/sqlserver",
+    "title": "SQL Server",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "SQL SERVER"
+    ]
+  },
+  {
+    "content": "Amazon Redshift\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect Redshift.\n\n\nDatasource Name\nEnter the name of the datasource.\n\n\nDescription\nEnter a description of the datasource.\n\n\nIP/Host Name\nEnter the Redshift service IP.\n\n\nPort\nEnter the Redshift service port.\n\n\nValidation\nEnter the Redshift authentication mode.\n\n\nUsername\nSet the username for Redshift connection.\n\n\nPassword\nSet the password for Redshift co [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/redshift",
+    "title": "Amazon Redshift",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "Amazon Redshift"
+    ]
+  },
+  {
+    "content": "ClickHouse\n\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect CLICKHOUSE.\n\n\nDatasource Name\nEnter the name of the datasource.\n\n\nDescription\nEnter a description of the datasource.\n\n\nIP/Host Name\nEnter the CLICKHOUSE service IP.\n\n\nPort\nEnter the CLICKHOUSE service port.\n\n\nUsername\nSet the username for CLICKHOUSE connection.\n\n\nPassword\nSet the password for CLICKHOUSE connection.\n\n\nDatabase Name\nEnter the database n [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/clickhouse",
+    "title": "ClickHouse",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "ClickHouse"
+    ]
+  },
+  {
+    "content": "DB2\n\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect DB2.\n\n\nDatasource Name\nEnter the name of the datasource.\n\n\nDescription\nEnter a description of the datasource.\n\n\nIP/Host Name\nEnter the DB2 service IP.\n\n\nPort\nEnter the DB2 service port.\n\n\nUsername\nSet the username for DB2 connection.\n\n\nPassword\nSet the password for DB2 connection.\n\n\nDatabase Name\nEnter the database name of the DB2 connection.\n\n\njdbc conne [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/db2",
+    "title": "DB2",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "IBM DB2"
+    ]
+  },
+  {
+    "content": "Oracle\n\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect Oracle.\n\n\nDatasource Name\nEnter the name of the datasource.\n\n\nDescription\nEnter a description of the datasource.\n\n\nIP/Host Name\nEnter the Oracle service IP.\n\n\nPort\nEnter the Oracle service port.\n\n\nUsername\nSet the username for Oracle connection.\n\n\nPassword\nSet the password for Oracle connection.\n\n\nDatabase Name\nEnter the ServiceName or SID of the Oracle c [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/oracle",
+    "title": "Oracle",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "Oracle"
+    ]
+  },
+  {
+    "content": "AWS Athena\n\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect ATHENA.\n\n\nDatasource name\nEnter the name of the DataSource.\n\n\nDescription\nEnter a description of the DataSource.\n\n\nUsername\nSet the AWS access key.\n\n\nPassword\nSet the AWS secret access key.\n\n\nAwsRegion\nSet the AWS region.\n\n\nDatabase name\nEnter the database name of the ATHENA connection.\n\n\nJdbc connection parameters\nParameter settings for ATHENA connec [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/athena",
+    "title": "AWS Athena",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "Amazon Athena"
+    ]
+  },
+  {
+    "content": "AZURE SQL\nAUTH Mode\nSqlPassword\n\nUse Azure SQL server username and password to login.\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect AZURE SQL.\n\n\nDatasource name\nEnter the name of the DataSource.\n\n\nDescription\nEnter a description of the DataSource.\n\n\nIP/Host Name\nEnter the AZURE SQL service Host or IP, eg: xxx.database.windows.net.\n\n\nPort\nEnter the AZURE SQL service port, 1433 by default.\n\n\nAuth Mode\nSet the connection auth mode. Curren [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/azure-sql",
+    "title": "AZURE SQL",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "Azure SQL Database"
+    ]
+  },
+  {
+    "content": "Trino\n\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect Trino.\n\n\nDatasource Name\nEnter the name of the datasource.\n\n\nDescription\nEnter a description of the datasource.\n\n\nIP/Host Name\nEnter the Trino service IP.\n\n\nPort\nEnter the Trino service port.\n\n\nUsername\nSet the username for Trino connection.\n\n\nPassword\nSet the password for Trino connection.\n\n\nDatabase Name\nEnter the database name of the Trino connection.\n [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/trino",
+    "title": "Trino",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "Trino"
+    ]
+  },
+  {
+    "content": "StarRocks\n\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect StarRocks.\n\n\nDatasource name\nEnter the name of the DataSource.\n\n\nDescription\nEnter a description of the DataSource.\n\n\nIP/Host Name\nEnter the StarRocks service IP.\n\n\nPort\nEnter the StarRocks service port.\n\n\nUsername\nSet the username for StarRocks connection.\n\n\nPassword\nSet the password for StarRocks connection.\n\n\nDatabase name\nEnter the database name of [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/starrocks",
+    "title": "StarRocks",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "StarRocks"
+    ]
+  },
+  {
+    "content": "DAMENG\n\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect DAMENG.\n\n\nDatasource name\nEnter the name of the DataSource.\n\n\nDescription\nEnter a description of the DataSource.\n\n\nIP/Host Name\nEnter the DAMENG service IP.\n\n\nPort\nEnter the DAMENG service port.\n\n\nUsername\nSet the username for DAMENG connection.\n\n\nPassword\nSet the password for DAMENG connection.\n\n\nDatabase name\nEnter the schema name of the DAMENG connecti [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/dameng",
+    "title": "DAMENG",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "DAMENG"
+    ]
+  },
+  {
+    "content": "OceanBase\n\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect OCEANBASE.\n\n\nDatasource name\nEnter the name of the DataSource.\n\n\nDescription\nEnter a description of the DataSource.\n\n\nIP/Host name\nEnter the OceanBase service IP.\n\n\nPort\nEnter the OceanBase service port.\n\n\nUsername\nSet the username for OceanBase connection.\n\n\nPassword\nSet the password for OceanBase connection.\n\n\nDatabase name\nEnter the database name of [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/oceanbase",
+    "title": "OceanBase",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "OceanBase"
+    ]
+  },
+  {
+    "content": "SSH Data Source\nThis data source is used for RemoteShell component to execute commands remotely.\n\n\nData Source: SSH\nData Source Name: Enter the name of the data source\nDescription: Enter the description of the data source\nIP Hostname: Enter the IP to connect to SSH\nPort: Enter the port to connect to SSH\nUsername: Set the username to connect to SSH\nPassword: Set the password to connect to SSH\nPublic Key: Set the public key to connect to SSH\n\nNative Supported\n [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/ssh",
+    "title": "SSH Data Source",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "SSH"
+    ]
+  },
+  {
+    "content": "Databend\n\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect DATABEND.\n\n\nDatasource Name\nEnter the name of the datasource.\n\n\nDescription\nEnter a description of the datasource.\n\n\nIP/Host Name\nEnter the DATABEND service IP.\n\n\nPort\nEnter the DATABEND service port.\n\n\nUsername\nSet the username for DATABEND connection.\n\n\nPassword\nSet the password for DATABEND connection.\n\n\nDatabase Name\nEnter the database name of the D [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/databend",
+    "title": "Databend",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "Databend"
+    ]
+  },
+  {
+    "content": "HANA\n\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect HANA.\n\n\nDatasource name\nEnter the name of the DataSource.\n\n\nDescription\nEnter a description of the DataSource.\n\n\nIP/Host Name\nEnter the HANA service IP.\n\n\nPort\nEnter the HANA service port.\n\n\nUsername\nSet the username for HANA connection.\n\n\nPassword\nSet the password for HANA connection.\n\n\nDatabase name\nEnter the database name of the HANA connection.\n\n\nJdb [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/hana",
+    "title": "HANA",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "HANA"
+    ]
+  },
+  {
+    "content": "DORIS\n\nDatasource Parameters\n\n\n\nDatasource\nDescription\n\n\n\n\nDatasource\nSelect DORIS.\n\n\nDatasource name\nEnter the name of the DataSource.\n\n\nDescription\nEnter a description of the DataSource.\n\n\nIP/Host Name\nEnter the DORIS service IP.(If there are multiple IPs, please separate them with ,)\n\n\nPort\nEnter the DORIS service port.\n\n\nUsername\nSet the username for DORIS connection.\n\n\nPassword\nSet the password for DORIS connection.\n\n\nDatabase  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/doris",
+    "title": "DORIS",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "doris"
+    ]
+  },
+  {
+    "content": "Vertica\n\nDatasource Parameters\n\n\n\nParameter\nDescription\n\n\n\n\nDatasource\nSelect VERTICA.\n\n\nDatasource Name\nEnter the name of the DataSource.\n\n\nDescription\nEnter a description of the DataSource.\n\n\nIP/Host Name\nEnter the Vertica service IP.\n\n\nPort\nEnter the Vertica service port.\n\n\nUsername\nSet the username for Vertica connection.\n\n\nPassword\nSet the password for Vertica connection.\n\n\nDatabase name\nEnter the database name of the Vertica  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/vertica",
+    "title": "Vertica",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "Vertica"
+    ]
+  },
+  {
+    "content": "DolphinDB\n\n\nDatasource: Select DOLPHINDB\nDatasource Name: Enter the name of the DataSource\nDescription: Enter a description of the DataSource\nIP/Host Name: Enter the DolphinDB service IP\nPort: Enter the DolphinDB service port\nUsername: Set the username for DolphinDB connection\nPassword: Set the password for DolphinDB connection\nJDBC connection parameters: Parameter settings for DolphinDB connection, in JSON format\n\nNative Supported\n\nNo, read section example  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/dolphindb",
+    "title": "DolphinDB",
+    "location": [
+      "Introduction to Functions",
+      "Data Source",
+      "DolphinDB"
+    ]
+  },
+  {
+    "content": "Alert Component User Guide\nAlert Plugins and Alert Groups Creation\nIn version 2.0.0, users need to create alert instances, and needs to choose an alarm policy when defining an alarm instance, there are three options: send if the task succeeds, send on failure, and send on both success and failure. when the workflow or task is executed, if an alarm is triggered, calling the alarm instance send method needs a logical judgment, which matches the alarm instance with the tas [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/alert_plugin_user_guide",
+    "title": "Alert Component User Guide",
+    "location": [
+      "Introduction to Functions",
+      "Alert",
+      "Alert Component User Guide "
+    ]
+  },
+  {
+    "content": "Email\nIf you need to use Email for alerting, create an alert instance in the alert instance management and select the Email plugin.\nThe following shows the Email configuration example:\n\n\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/email",
+    "title": "Email",
+    "location": [
+      "Introduction to Functions",
+      "Alert",
+      "Email"
+    ]
+  },
+  {
+    "content": "Telegram\nIf you need Telegram to alert, create an alert instance in the alert instance management, and choose the Telegram plugin.\nThe following shows the Telegram configuration example:\n\nParameter Configuration\n\n\n\nParameter\nDescription\n\n\n\n\nWebHook\nThe WebHook of Telegram when use robot to send message.\n\n\nbotToken\nThe access token of robot.\n\n\nchatId\nSub Telegram Channel.\n\n\nparseMode\nMessage parse type (support txt, markdown, markdownV2, html).\n [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/telegram",
+    "title": "Telegram",
+    "location": [
+      "Introduction to Functions",
+      "Alert",
+      "Telegram"
+    ]
+  },
+  {
+    "content": "DingTalk\nIf you need to use DingTalk for alerting, create an alert instance in the alert instance management and select the DingTalk plugin.\nThe following shows the DingTalk configuration example:\n\nParameter Configuration\n\n\n\nParameter\nDescription\n\n\n\n\nWarning Type\nAlert on success or failure or both.\n\n\nWebHook\nThe format is: https://oapi.dingtalk.com/robot/send?access_token=XXXXXX\n\n\nKeyword\nCustom keywords for security settings.\n\n\nSecret\nSignatur [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/dingtalk",
+    "title": "DingTalk",
+    "location": [
+      "Introduction to Functions",
+      "Alert",
+      "Ding Talk"
+    ]
+  },
+  {
+    "content": "Enterprise WeChat\nIf you need to use Enterprise WeChat to alert, create an alert instance in the alert instance management, and choose the WeChat plugin.\nThe following is the WeChat configuration example:\n\nSend Type\nThe parameter send.type corresponds to sending messages to Enterprise WeChat customized APP and group chat created by API respectively.\nAPP\nThe APP sends type means to notify the alert results via Enterprise WeChat customized APPs, supports sending mess [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/enterprise-wechat",
+    "title": "Enterprise WeChat",
+    "location": [
+      "Introduction to Functions",
+      "Alert",
+      "Enterprise Wechat"
+    ]
+  },
+  {
+    "content": "Webex Teams\nIf you need to use Webex Teams to alert, create an alert instance in the alert instance management, and choose the WebexTeams plugin. You can pick private alert or room group chat alert.\nThe following is the WebexTeams configuration example:\n\nParameter Configuration\n\n\n\nParameter\nDescription\n\n\n\n\nbotAccessToken\nThe access token of robot.\n\n\nroomID\nThe ID of the room that receives message (only support one room ID).\n\n\ntoPersonId\nThe person I [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/enterprise-webexteams",
+    "title": "Webex Teams",
+    "location": [
+      "Introduction to Functions",
+      "Alert",
+      "Enterprise Webexteams"
+    ]
+  },
+  {
+    "content": "Script\nIf you need to use Shell script for alerting, create an alert instance in the alert instance management and select the Script plugin.\nThe following shows the Script configuration example:\n\nParameter Configuration\n\n\n\nParameter\nDescription\n\n\n\n\nUser Params\nUser defined parameters will pass to the script.\n\n\nScript Path\nThe file location path in the server, only support .sh file\n\n\nType\nSupport Shell script.\n\n\n\nNote\n1.Consider the script file  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/script",
+    "title": "Script",
+    "location": [
+      "Introduction to Functions",
+      "Alert",
+      "Script"
+    ]
+  },
+  {
+    "content": "HTTP\nIf you need to use Http script for alerting, create an alert instance in the alert instance management and select the Http plugin.\nParameter Configuration\n\n\n\nParameter\nDescription\n\n\n\n\nURL\nThe Http request URL needs to contain protocol, host, path and parameters if the method is GET.\n\n\nRequest Type\nSelect the request type from POST or GET or PUT.\n\n\nHeaders\nThe headers of the Http request in JSON format. Not including content-type.\n\n\nBody\nThe r [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/http",
+    "title": "HTTP",
+    "location": [
+      "Introduction to Functions",
+      "Alert",
+      "Http"
+    ]
+  },
+  {
+    "content": "Feishu\nIf you need to use Feishu for alerting, create an alert instance in the alert instance management and select\nthe Feishu plugin.\nThe following shows the Feishu configuration example:\n\nParameter Configuration\n\n\nWebhook\n\nCopy the robot webhook URL shown below:\n\n\n\n\nFeishu:Use bots in groups\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/feishu",
+    "title": "Feishu",
+    "location": [
+      "Introduction to Functions",
+      "Alert",
+      "Feishu"
+    ]
+  },
+  {
+    "content": "Slack\nIf you need to use Slack for alerting, create an alert instance in the alert instance management and select\nthe Slack plugin.\nThe following shows the Slack configuration example:\n\nParameter Configuration\n\n\nWebhook\n\nCopy the Incoming Webhooks address from the APP, check the image below:\n\n\n\n\nUserName\n\n(Deprecated) The sender name. Currently, Slack use APP as the sender name due to the Slack updates.\n\n\n\nHow to Get Webhook\nPlease refer to the offic [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/slack",
+    "title": "Slack",
+    "location": [
+      "Introduction to Functions",
+      "Alert",
+      "Slack"
+    ]
+  },
+  {
+    "content": "Alibaba Cloud - Voice alarm\nIf you need to use Voice for alerting, create an alert instance in the alert instance management and select the Voice plugin.\n参数配置\n\n\nCalled number\n\nCalled display number\n\n\n\nCall display number\n\nThe number for receiving voice notifications\n\n\n\nVoiceCode\n\nVoice ID of the VoiceCode\n\n\n\naccessKeyId\n\nYour AccessKey ID\n\n\n\naccessKeySecret\n\nYour AccessKey Secret\n\n\n\nexample\nVoice notification Sends a voice notification  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/aliyun-voice",
+    "title": "Alibaba Cloud - Voice alarm",
+    "location": [
+      "Introduction to Functions",
+      "Alert",
+      "Aliyun Voice"
+    ]
+  },
+  {
+    "content": "Resource Center Introduction\nThe Resource Center is typically used for uploading files and task group management. For a stand-alone\nenvironment, you can select the local file directory as the upload folder (this operation does not require Hadoop or HDFS deployment).\nOf course, you can also choose to upload to Hadoop or MinIO cluster. In this case, you need to have Hadoop (2.6+) or MinIO and other related environments.\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/resource/intro",
+    "title": "Resource Center Introduction",
+    "location": [
+      "Introduction to Functions",
+      "Resource",
+      "Introduction"
+    ]
+  },
+  {
+    "content": "Resource Center Configuration\n\nYou could use Resource Center to upload text files and other task-related files.\nYou could configure Resource Center to use distributed file system like Hadoop (2.6+), MinIO cluster or remote storage products like AWS S3, Alibaba Cloud OSS, Huawei Cloud OBS, Tencent Cloud COS, etc.\nYou could configure Resource Center to use local file system. If you deploy DolphinScheduler in Standalone mode, you could configure it to use local file syst [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/resource/configuration",
+    "title": "Resource Center Configuration",
+    "location": [
+      "Introduction to Functions",
+      "Resource",
+      "Configuration"
+    ]
+  },
+  {
+    "content": "File Management\nWhen the third-party jar needs to be used in the scheduling process or the user needs to customize the script, the related operations can be completed on this page. The file types that can be created include: txt, log, sh, conf, py, java etc. And you can edit, rename, download and delete files.\n\n\nNote:\n\nWhen you manage files as admin, remember to set up tenant for admin first.\n\n\nBasic Operations\nCreate File\nThe file format supports the following [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/resource/file-manage",
+    "title": "File Management",
+    "location": [
+      "Introduction to Functions",
+      "Resource",
+      "File Manage"
+    ]
+  },
+  {
+    "content": "Task Group Settings\nThe task group is mainly used to control the concurrency of task instances, and is designed to control the pressure of other resources (it can also control the pressure of the Hadoop cluster, the cluster will have queue control it). When creating a new task definition, you can configure the corresponding task group and configure the priority of the task running in the task group. The user can only view the task groups belongs to authorized projects, a [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/resource/task-group",
+    "title": "Task Group Settings",
+    "location": [
+      "Introduction to Functions",
+      "Resource",
+      "Task Group Manage"
+    ]
+  },
+  {
+    "content": "Monitor\nService Management\n\nService management is mainly to monitor and display the health status and basic information of each service in the system.\n\nMaster Server\n\nMainly related to master information.\n\n\nWorker Server\n\nMainly related to worker information.\n\n\nAlert Server\n\nMainly related to alert server information.\n\n\nDatabase\n\nMainly the health status of the DB.\n\n\nStatistics Management\nStatistics\n\nShows the command list in the system. Data i [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/monitor",
+    "title": "Monitor",
+    "location": [
+      "Introduction to Functions",
+      "Monitor"
+    ]
+  },
+  {
+    "content": "Security (Authorization System)\nOnly the administrator account in the security center has permission to operate, which includes queue management, tenant management, user management, alarm group management, worker group management, token management and other functions. In the user management module, you can authorize resources, data sources, projects, etc.\nAdministrator login, default username/password: admin/dolphinscheduler123\nCreate Queue\n\nThe queue is used when ex [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/security/security",
+    "title": "Security (Authorization System)",
+    "location": [
+      "Introduction to Functions",
+      "Security",
+      "Security (Authorization System)"
+    ]
+  },
+  {
+    "content": "Authentication Type\n\nSo far we support four authentication types, Apache DolphinScheduler password, LDAP, Casdoor SSO and OAuth2,the OAuth2 authorization login mode can be used with other authentication modes.\n\nChange Authentication Type\n\ndolphinscheduler-api/src/main/resources/application.yaml\n\nsecurity:\n  authentication:\n    # Authentication types (supported types: PASSWORD,LDAP,CASDOOR_SSO)\n    type: LDAP\n    # IF you set type `LDAP`, below config will be e [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/security/authentication-type",
+    "title": "Authentication Type",
+    "location": [
+      "Introduction to Functions",
+      "Security",
+      "Authentication Type"
+    ]
+  },
+  {
+    "content": "Introduction\nApache DolphinScheduler exports metrics for system observability. We use Micrometer as application metrics facade.\nCurrently, we only support Prometheus Exporter but more are coming soon.\nQuick Start\n\nWe enable Apache DolphinScheduler to export metrics in standalone mode to help users get hands dirty easily.\nAfter triggering tasks in standalone mode, you could access metrics list by visiting url http://localhost:12345/dolphinscheduler/actuator/metrics.\ [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/metrics/metrics",
+    "title": "Introduction",
+    "location": [
+      "Introduction to Functions",
+      "Metrics",
+      "Metrics"
+    ]
+  },
+  {
+    "content": "Remote Logging\nApache DolphinScheduler supports writing task logs to remote storage. When remote logging is enabled, DolphinScheduler will send the task logs to the specified remote storage asynchronously after the task ends. In addition, when the user views or downloads the task log, if the log file does not exist locally, DolphinScheduler will download the corresponding log file from the remote storage to the local file system.\nEnabling remote logging\nIf you deploy D [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/remote-logging",
+    "title": "Remote Logging",
+    "location": [
+      "Introduction to Functions",
+      "Remote Logging"
+    ]
+  },
+  {
+    "content": "Incompatible\nThis document records the incompatible updates between each version. You need to check this document before you upgrade to related version.\ndev\n\nUpgrade mysql driver version from 8.0.16 to 8.0.33 (#14684)\nChange env PYTHON_HOME to PYTHON_LAUNCHER and DATAX_HOME to DATAX_LAUNCHER (#14523)\nChange regex matching sql params in SQL task plugin (#13378)\nRemove the spark version of spark task (#11860).\nChange the default unix shell executor from sh to bash ( [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/upgrade/incompatible",
+    "title": "Incompatible",
+    "location": [
+      "Introduction to Functions",
+      "Upgrade",
+      "Incompatible"
+    ]
+  },
+  {
+    "content": "DolphinScheduler Upgrade\nPrepare\nCheck Incompatible Change\nYou should check incompatible change before you upgrade, because some incompatible change may break your current function.\nBackup Previous Version's Files and Database\nTo prevent data loss by some miss-operation, it is recommended to back up data before upgrading. The backup way according to your environment.\nDownload the Latest Version Installation Package\nDownload the latest binary distribute package from [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/upgrade/upgrade",
+    "title": "DolphinScheduler Upgrade",
+    "location": [
+      "Introduction to Functions",
+      "Upgrade",
+      "Upgrade"
+    ]
+  },
+  {
+    "content": "DolphinScheduler Expansion and Reduction\nExpansion\nThis article describes how to add a new master service or worker service to an existing DolphinScheduler cluster.\nAttention: There cannot be more than one master service process or worker service process on a physical machine.\n      If the physical machine which locate the expansion master or worker node has already installed the scheduled service, check the [1.4 Modify configuration] and edit the configuration file ` [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/expansion-reduction",
+    "title": "DolphinScheduler Expansion and Reduction",
+    "location": [
+      "Introduction to Functions",
+      "Expansion and Reduction"
+    ]
+  },
+  {
+    "content": "DolphinScheduler Initialize The Workflow Demo\nPrepare\nBackup Previous Version's Files and Database\nTo prevent data loss by some miss-operation, it is recommended to back up data before initializing the workflow demo. The backup way according to your environment.\nDownload the Latest Version Installation Package\nDownload the latest binary distribute package from download and then put it in the different\ndirectory where current service running. And all below command is [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/demo",
+    "title": "DolphinScheduler Initialize The Workflow Demo",
+    "location": [
+      "Introduction to Functions",
+      "Demo"
+    ]
+  },
+  {
+    "content": "Standalone\nStandalone only for quick experience for DolphinScheduler.\nIf you are a newbie and want to experience DolphinScheduler functions, we recommend you install follow Standalone deployment.\nIf you want to experience more complete functions and schedule massive tasks, we recommend you install follow pseudo-cluster deployment.\nIf you want to deploy DolphinScheduler in production, we recommend you follow cluster deployment or Kubernetes deployment.\n\nNote: Standal [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/installation/standalone",
+    "title": "Standalone",
+    "location": [
+      "Installation",
+      "Standalone Deployment"
+    ]
+  },
+  {
+    "content": "Pseudo-Cluster Deployment\nThe purpose of the pseudo-cluster deployment is to deploy the DolphinScheduler service on a single machine. In this mode, DolphinScheduler's master, worker, API server, are all on the same machine.\nIf you are a new hand and want to experience DolphinScheduler functions, we recommend you install follow Standalone deployment. If you want to experience more complete functions and schedule massive tasks, we recommend you install follow pseudo-clust [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/installation/pseudo-cluster",
+    "title": "Pseudo-Cluster Deployment",
+    "location": [
+      "Installation",
+      "Pseudo Cluster Deployment"
+    ]
+  },
+  {
+    "content": "Cluster Deployment\nCluster deployment is to deploy the DolphinScheduler on multiple machines for running massive tasks in production.\nIf you are a new hand and want to experience DolphinScheduler functions, we recommend you install follow Standalone deployment. If you want to experience more complete functions and schedule massive tasks, we recommend you install follow pseudo-cluster deployment. If you want to deploy DolphinScheduler in production, we recommend you foll [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/installation/cluster",
+    "title": "Cluster Deployment",
+    "location": [
+      "Installation",
+      "Cluster Deployment"
+    ]
+  },
+  {
+    "content": "QuickStart in Kubernetes\nKubernetes deployment is DolphinScheduler deployment in a Kubernetes cluster, which can schedule massive tasks and can be used in production.\nIf you are a new hand and want to experience DolphinScheduler functions, we recommend you install follow Standalone deployment. If you want to experience more complete functions and schedule massive tasks, we recommend you install follow pseudo-cluster deployment. If you want to deploy DolphinScheduler in  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/installation/kubernetes",
+    "title": "QuickStart in Kubernetes",
+    "location": [
+      "Installation",
+      "Kubernetes Deployment"
+    ]
+  },
+  {
+    "content": "General Setting\nLanguage\nDolphinScheduler supports two types of built-in language which include English and Chinese. You could click the button\non the top control bar named English and Chinese and change it to another one when you want to switch the language.\nThe entire DolphinScheduler page language will shift when you switch the language selection.\nTheme\nDolphinScheduler supports two types of built-in theme which include Dark and Light. When you want to change the [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/installation/general-setting",
+    "title": "General Setting",
+    "location": [
+      "Installation",
+      "General Setting"
+    ]
+  },
+  {
+    "content": "Datasource Setting\nStandalone Switching Metadata Database Configuration\nWe here use MySQL as an example to illustrate how to configure an external database:\n\nNOTE: If you use MySQL, you need to manually download mysql-connector-java driver (8.0.16) and move it to the libs directory of DolphinScheduler\nwhich is api-server/libs and alert-server/libs and master-server/libs and worker-server/libs.\n\n\nFirst of all, follow the instructions in Pseudo-Cluster/Cluster Initi [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/installation/datasource-setting",
+    "title": "Datasource Setting",
+    "location": [
+      "Installation",
+      "Datasource Setting"
+    ]
+  },
+  {
+    "content": "Use Rainbond Deployment\nThis section describes the one-click deployment of high availability DolphinScheduler clusters through the Rainbond cloud native application management platform. This method is suitable for users who don't know much about complex technologies such as Kubernetes, lowering the threshold for deploying DolphinScheduler in Kubernetes mode.\nPrerequisites\n\nAvailable Rainbond cloud native application management platform is a prerequisite,please refer t [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/integration/rainbond",
+    "title": "Use Rainbond Deployment",
+    "location": [
+      "Installation",
+      "integration",
+      "Rainbond Deployment"
+    ]
+  },
+  {
+    "content": "System Architecture Design\nSystem Structure\nSystem Architecture Diagram\n\n  \n  \n        System architecture diagram\n  \n\nStart Process Activity Diagram\n\n  \n  \n        Start process activity diagram\n  \n\nArchitecture Description\n\n\nMasterServer\nMasterServer adopts a distributed and decentralized design concept. MasterServer is mainly responsible for DAG task segmentation, task submission monitoring, and monitoring the health status of other MasterServer and [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/architecture/design",
+    "title": "System Architecture Design",
+    "location": [
+      "Architecture Guide",
+      "Architecture Design"
+    ]
+  },
+  {
+    "content": "MetaData\nTable Schema\nsee sql files in dolphinscheduler/dolphinscheduler-dao/src/main/resources/sql\n\nE-R Diagram\nUser Queue DataSource\n\n\nOne tenant can own Multiple users.\nThe queue field in the t_ds_user table stores the queue_name information in the t_ds_queue table, t_ds_tenant stores queue information using queue_id column. During the execution of the process definition, the user queue has the highest priority. If the user queue is null, use the tenant queue. [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/architecture/metadata",
+    "title": "MetaData",
+    "location": [
+      "Architecture Guide",
+      "Metadata"
+    ]
+  },
+  {
+    "content": "\nConfiguration\nPreface\nThis document explains the DolphinScheduler application configurations.\nDirectory Structure\nThe directory structure of DolphinScheduler is as follows:\n├── LICENSE\n│\n├── NOTICE\n│\n├── licenses                                    directory of licenses\n│\n├── bin                                         directory of DolphinScheduler application commands, configurations scripts\n│   ├── dolphinscheduler-daemon.sh              script to start or  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/architecture/configuration",
+    "title": "Configuration",
+    "location": [
+      "Architecture Guide",
+      "Configuration File"
+    ]
+  },
+  {
+    "content": "Task Structure\nOverall Tasks Storage Structure\nAll tasks in DolphinScheduler are saved in the t_ds_process_definition table.\nThe following shows the t_ds_process_definition table structure:\n\n\n\nNo.\nfield\ntype\ndescription\n\n\n\n\n1\nid\nint(11)\nprimary key\n\n\n2\nname\nvarchar(255)\nprocess definition name\n\n\n3\nversion\nint(11)\nprocess definition version\n\n\n4\nrelease_state\ntinyint(4)\nrelease status of process definition: 0 not released, 1 released\n\n\ [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/architecture/task-structure",
+    "title": "Task Structure",
+    "location": [
+      "Architecture Guide",
+      "Task Structure"
+    ]
+  },
+  {
+    "content": "Load Balance\nLoad balancing refers to the reasonable allocation of server pressure through routing algorithms (usually in cluster environments) to achieve the maximum optimization of server performance.\nDolphinScheduler-Worker Load Balancing Algorithms\nDolphinScheduler-Master allocates tasks to workers, and by default provides three algorithms:\n\n\nWeighted random (random)\n\n\nSmoothing polling (round-robin)\n\n\nLinear load (lower weight)\n\n\nThe default configurat [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/architecture/load-balance",
+    "title": "Load Balance",
+    "location": [
+      "Architecture Guide",
+      "Load Balance"
+    ]
+  },
+  {
+    "content": "Open API\nBackground\nGenerally, projects and processes are created through pages, but considering the integration with third-party systems requires API calls to manage projects and workflows.\nThe Operation Steps of DolphinScheduler API Calls\nCreate a Token\n\nLog in to the scheduling system, click &quot;Security&quot;, then click &quot;Token manage&quot; on the left, and click &quot;Create token&quot; to create a token.\n\n\n\nSelect the &quot;Expiration time&quot; (To [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/api/open-api",
+    "title": "Open API",
+    "location": [
+      "API",
+      "Open API"
+    ]
+  },
+  {
+    "content": "PyDolphinScheduler\nPyDolphinScheduler is python API for Apache DolphinScheduler, which allow you definition your workflow by python code, aka workflow-as-codes.\nFor more information, please refer to PyDolphinScheduler\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/api/pydolphinscheduler",
+    "title": "PyDolphinScheduler",
+    "location": [
+      "API",
+      "PyDolphinScheduler"
+    ]
+  },
+  {
+    "content": "Health Check\nBackground\nHealth check are designed to provide a unique way to check the health of the dolphinscheduler service. It includes the health status of modules, such as DB, cache, network, etc.\nEndpoint\nAPI-Server\ncurl --request GET &#x27;http://localhost:12345/dolphinscheduler/actuator/health&#x27;\n\n{&quot;status&quot;:&quot;UP&quot;,&quot;components&quot;:{&quot;db&quot;:{&quot;status&quot;:&quot;UP&quot;,&quot;details&quot;:{&quot;database&quot;:&quot;H2 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/api/healthcheck",
+    "title": "Health Check",
+    "location": [
+      "API",
+      "Health Check"
+    ]
+  },
+  {
+    "content": "Apache DolphinScheduler Security Model\nThis document is mainly used to describe the scope of work, responsibilities and key functions of users with different roles. By introducing user permissions and functions, it helps users understand the precautions and rules in the deployment, use, operation and maintenance stages. Developers can use this document to understand the boundaries between security vulnerabilities and normal functions.\nApache DolphinScheduler Workflow\nF [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/security-model",
+    "title": "Apache DolphinScheduler Security Model",
+    "location": [
+      "Contribution",
+      "Join",
+      "Security model"
+    ]
+  },
+  {
+    "content": "Security\nThe Apache Software Foundation takes a rigorous stance on eliminating security issues in its software projects. Apache DolphinScheduler is also very concerned Security issues related to its features and functionality.\nIf you have apprehensions regarding DolphinScheduler’s security or you discover vulnerability or potential threat, don’t hesitate to get in touch with the Apache Security Team by dropping a mail at [security@apache.org]. Please specify the project [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/security",
+    "title": "Security",
+    "location": [
+      "Contribution",
+      "Join",
+      "Security Report"
+    ]
+  },
+  {
+    "content": "How to become a committer of Apache Dolphinscheduler\nDolphinscheduler Project Management Committee (PMC) is responsible for assessing the contributions of candidates.\nLike many Apache projects, Dolphinscheduler welcome all contributions, including code contributions, blog entries, guides for new users, public speeches, and enhancement of the project in various ways.\nBecoming a committer to get started contributing to Dolphinscheduler, learn how to contribute – anyone c [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/become-a-committer",
+    "title": "How to become a committer of Apache Dolphinscheduler",
+    "location": [
+      "Contribution",
+      "Join",
+      "How to Become a Committer"
+    ]
+  },
+  {
+    "content": "Subscribe Mailing Lists\nIt is highly recommended to subscribe to the development mailing list to keep up-to-date with the community.\nIn the process of using DolphinScheduler, if you have any questions or ideas, suggestions, you can participate in the DolphinScheduler community building through the Apache mailing list. Sending a subscription email is also very simple, the steps are as follows:\n\n\nSend an email to dev-subscribe@dolphinscheduler.apache.org with your own  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/subscribe",
+    "title": "Subscribe Mailing Lists",
+    "location": [
+      "Contribution",
+      "Join",
+      "Subscribe Mailing Lists"
+    ]
+  },
+  {
+    "content": "Participate in Contributing\nFirst of all, thank you very much for choosing and using DolphinScheduler, and welcome to join the DolphinScheduler family!\nWe encourage any form of participation in the community that will eventually become Committer or PPMC Such as:\n\nProblems will be encountered via github on the issue form feedback out.\nAnswer the issue questions that others are asking.\nHelp improve the documentation.\nHelp your project add test cases.\nAdd comments to [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/contribute",
+    "title": "Participate in Contributing",
+    "location": [
+      "Contribution",
+      "Join",
+      "Participate in Contributing"
+    ]
+  },
+  {
+    "content": "Code of Conduct\nThe following Code of Conduct is based on full compliance with the Apache Software Foundation Code of Conduct.\nDevelopment philosophy\n\nConsistent code style, naming, and usage are consistent.\nEasy to read code is obvious, easy to read and understand, when debugging one knows the intent of the code.\nNeat agree with the concepts of《Refactoring》and《Code Cleanliness》and pursue clean and elegant code.\nAbstract hierarchy is clear and the concepts are refi [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/code-conduct",
+    "title": "Code of Conduct",
+    "location": [
+      "Contribution",
+      "Join",
+      "Code of Conduct"
+    ]
+  },
+  {
+    "content": "Community Review\nBeside submit Issues and pull requests to the GitHub repository mentioned in team, another important way to\ncontribute to DolphinScheduler is reviewing GitHub Issues or Pull Requests. You can not only know the latest new and\ndirection of the community, but also understand the good design in others during you reviewing. At the same time, you can\nincrease your exposure in the community and accumulate your honor.\nAnyone is encouraged to review Issues an [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/review",
+    "title": "Community Review",
+    "location": [
+      "Contribution",
+      "Join",
+      "Review Issue or Pull Requests"
+    ]
+  },
+  {
+    "content": "DolphinScheduler E2E Test Contribution Guide\nThe main purpose of E2E test is to verify the integration and data integrity of the system, and its components, by simulating real user scenarios. This makes it possible to extend the scope of testing and ensure the health and stability of the system. To a certain extent, the test workload and costs are reduced. In simple terms, E2E testing is about treating a program as a black box and simulating the access behaviour of a rea [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/e2e-guide",
+    "title": "DolphinScheduler E2E Test Contribution Guide",
+    "location": [
+      "Contribution",
+      "Join",
+      "E2E Contribution Guide"
+    ]
+  },
+  {
+    "content": "Submit Code\n\n\nFirst from the remote repository https://github.com/apache/dolphinscheduler.git fork a copy of the code into your own repository\n\n\nThere are currently three branches in the remote repository:\n\nmaster           normal delivery branch\nAfter the stable release, merge the code from the stable branch into the master.\ndev              daily development branch\nEvery day dev development branch, newly submitted code can pull request to this branch.\n\n\n\n [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/submit-code",
+    "title": "Submit Code",
+    "location": [
+      "Contribution",
+      "Join",
+      "Submit Code"
+    ]
+  },
+  {
+    "content": "License Notice\nAs we know that DolphinScheduler is an open-source undergoing project at The Apache Software Foundation (ASF), which means that you have to follow the Apache way to become the DolphinScheduler contributor. Furthermore, Apache has extremely strict rules according to the License. This passage will explain the ASF license and how to avoid License risks at the early stage when you participate in DolphinScheduler.\nNote: This article only applies to the Apache  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/DS-License",
+    "title": "License Notice",
+    "location": [
+      "Contribution",
+      "Join",
+      "License Notice"
+    ]
+  },
+  {
+    "content": "Documentation Notice\nGood documentation is critical for any type of software. Any contribution that can improve the DolphinScheduler documentation is welcome.\nGet the document project\nDocumentation for the DolphinScheduler project is maintained in a separate git repository.\nFirst you need to fork the document project into your own github repository, and then clone the document to your local computer.\ngit clone https://github.com/&lt;your-github-user-name&gt;/dolphins [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/document",
+    "title": "Documentation Notice",
+    "location": [
+      "Contribution",
+      "Join",
+      "Document Notice"
+    ]
+  },
+  {
+    "content": "Issue Notice\nPreface\nIssues function is used to track various Features, Bugs, Functions, etc. The project maintainer can organize the tasks to be completed through issues.\nIssue is an important step in drawing out a feature or bug,\nand the contents that can be discussed in an issue are not limited to the features, the causes of the existing bugs, the research on preliminary scheme, and the corresponding implementation design and code design.\nAnd only when the Issue i [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/issue",
+    "title": "Issue Notice",
+    "location": [
+      "Contribution",
+      "Join",
+      "Issue Notice"
+    ]
+  },
+  {
+    "content": "Pull Request Notice\nPreface\nPull Request is a way of software cooperation, which is a process of bringing code involving different functions into the trunk. During this process, the code can be discussed, reviewed, and modified.\nIn Pull Request, we try not to discuss the implementation of the code. The general implementation of the code and its logic should be determined in Issue. In the Pull Request, we only focus on the code format and code specification, so as to av [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/pull-request",
+    "title": "Pull Request Notice",
+    "location": [
+      "Contribution",
+      "Join",
+      "Pull Request Notice"
+    ]
+  },
+  {
+    "content": "Commit Message Notice\nPreface\nA good commit message can help other developers (or future developers) quickly understand the context of related changes, and can also help project managers determine whether the commit is suitable for inclusion in the release. But when we checked the commit logs of many open source projects, we found an interesting problem. Some developers have very good code quality, but the commit message record is rather confusing. When other contributo [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/commit-message",
+    "title": "Commit Message Notice",
+    "location": [
+      "Contribution",
+      "Join",
+      "Commit Message Notice"
+    ]
+  },
+  {
+    "content": "Micro BenchMark Notice\nAll optimization must be based on data verification, and blind optimization is rejected. Based on this, we provide the MicroBench module.\nThe MicroBench module is based on the OpenJDK JMH component (HotSpot's recommended benchmark test program). When you start benchmarking, you don't need additional dependencies.\nJMH, the Java MicroBenchmark Harness, is a tool suite dedicated to code microbenchmark testing. What is Micro Benchmark? Simply put, it [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/microbench",
+    "title": "Micro BenchMark Notice",
+    "location": [
+      "Contribution",
+      "Join",
+      "Micro BenchMark Notice"
+    ]
+  },
+  {
+    "content": "Unit Test Coverage\n1. The Benefits of Writing Unit Tests\n\nUnit tests help everyone to get into the details of the code and understand how it works.\nThrough test cases we can find bugs and submit robust code.\nThe test case is also a demo usage of the code.\n\n2. Some design principles for unit test cases\n\nThe steps, granularity and combination of conditions should be carefully designed.\nPay attention to boundary conditions.\nUnit tests should be well designed as we [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/unit-test",
+    "title": "Unit Test Coverage",
+    "location": [
+      "Contribution",
+      "Join",
+      "Unit Test Writing Guide"
+    ]
+  },
+  {
+    "content": "DolphinScheduler development\nSoftware Requirements\nBefore setting up the DolphinScheduler development environment, please make sure you have installed the software as below:\n\nGit\nJDK: v1.8+\nMaven: v3.5+\nNode: v16.0+\nPnpm: v8.0+ (Make sure pnpm is compatible with Node.js, see also: Compatibility)\n\nClone Git Repository\nDownload the git repository through your git management tool, here we use git-core as an example\nmkdir dolphinscheduler\ncd dolphinscheduler\ngit [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/development-environment-setup",
+    "title": "DolphinScheduler development",
+    "location": [
+      "Contribution",
+      "Development Environment Setup"
+    ]
+  },
+  {
+    "content": "Architecture Design\nBefore explaining the architecture of the schedule system, let us first understand the common nouns of the schedule system.\n1.Noun Interpretation\nDAG: Full name Directed Acyclic Graph,referred to as DAG。Tasks in the workflow are assembled in the form of directed acyclic graphs, which are topologically traversed from nodes with zero indegrees of ingress until there are no successor nodes. For example, the following picture:\n\n  \n  \n        dag exa [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/architecture-design",
+    "title": "Architecture Design",
+    "location": [
+      "Contribution",
+      "Design Document",
+      "Architecture Design"
+    ]
+  },
+  {
+    "content": "DolphinScheduler Alert SPI main design\nDolphinScheduler SPI Design\nDolphinScheduler is undergoing a microkernel + plug-in architecture change. All core capabilities such as tasks, resource storage, registration centers, etc. will be designed as extension points. We hope to use SPI to improve DolphinScheduler’s own flexibility and friendliness (extended sex).\nFor alarm-related codes, please refer to the dolphinscheduler-alert-api module. This module defines the extensio [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/backend/spi/alert",
+    "title": "DolphinScheduler Alert SPI main design",
+    "location": [
+      "Contribution",
+      "Design Document",
+      "Alert SPI"
+    ]
+  },
+  {
+    "content": "DolphinScheduler Registry SPI Extension\nhow to use?\nMake the following configuration (take zookeeper as an example)\n\n\nRegistry plug-in configuration, take Zookeeper as an example (registry.properties)\ndolphinscheduler-service/src/main/resources/registry.properties\nregistry.plugin.name=zookeeper\nregistry.servers=127.0.0.1:2181\n\n\n\nFor specific configuration information, please refer to the parameter information provided by the specific plug-in, for example zk: o [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/backend/spi/registry",
+    "title": "DolphinScheduler Registry SPI Extension",
+    "location": [
+      "Contribution",
+      "Design Document",
+      "Registry SPI"
+    ]
+  },
+  {
+    "content": "DolphinScheduler Task SPI extension\nHow to develop task plugins?\norg.apache.dolphinscheduler.spi.task.TaskChannel\nThe plug-in can implement the above interface. It mainly includes creating tasks (task initialization, task running, etc.) and task cancellation. If it is a yarn task, you need to implement org.apache.dolphinscheduler.plugin.task.api.AbstractYarnTask.\nWe provide APIs for external access to all tasks in the dolphinscheduler-task-api module, while the dolphi [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/backend/spi/task",
+    "title": "DolphinScheduler Task SPI extension",
+    "location": [
+      "Contribution",
+      "Design Document",
+      "Task SPI"
+    ]
+  },
+  {
+    "content": "DolphinScheduler Datasource SPI main design\nHow do I use data sources?\nThe data source center supports POSTGRESQL, HIVE/IMPALA, SPARK, CLICKHOUSE, SQLSERVER data sources by default.\nIf you are using MySQL or ORACLE data source, you need to place the corresponding driver package in the lib directory\nHow to do Datasource plugin development?\norg.apache.dolphinscheduler.spi.datasource.DataSourceChannel\norg.apache.dolphinscheduler.spi.datasource.DataSourceChannelFactory\ [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/backend/spi/datasource",
+    "title": "DolphinScheduler Datasource SPI main design",
+    "location": [
+      "Contribution",
+      "Design Document",
+      "Datasource SPI"
+    ]
+  },
+  {
+    "content": "Overview\n\n\nGlobal Parameter\nSwitch Task type\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/backend/mechanism/overview",
+    "title": "Overview",
+    "location": [
+      "Contribution",
+      "Design Document",
+      "Mechanism Design"
+    ]
+  },
+  {
+    "content": "Front-end development documentation\nTechnical selection\nVue mvvm framework\n\nEs6 ECMAScript 6.0\n\nAns-ui Analysys-ui\n\nD3  Visual Library Chart Library\n\nJsplumb connection plugin library\n\nLodash high performance JavaScript utility library\n\nDevelopment environment\n\n\n\nNode installation\nNode package download (note version v12.20.2) https://nodejs.org/download/release/v12.20.2/\n\n\n\nFront-end project construction\nUse the command line mode cd  enter the dolp [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/frontend-development",
+    "title": "Front-end development documentation",
+    "location": [
+      "Contribution",
+      "Guidelines",
+      "Frontend Development"
+    ]
+  },
+  {
+    "content": "API design standard\nA standardized and unified API is the cornerstone of project design.The API of DolphinScheduler follows the REST ful standard. REST ful is currently the most popular Internet software architecture. It has a clear structure, conforms to standards, is easy to understand and extend.\nThis article uses the DolphinScheduler API as an example to explain how to construct a Restful API.\n1. URI design\nREST is &quot;Representational State Transfer&quot;.The d [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/api-standard",
+    "title": "API design standard",
+    "location": [
+      "Contribution",
+      "Guidelines",
+      "API Standard"
+    ]
+  },
+  {
+    "content": "DolphinScheduler E2E Automation Test\nI. Preparatory knowledge\n1. The difference between E2E Test and Unit Test\nE2E, which stands for &quot;End to End&quot;, can be translated as &quot;end-to-end&quot; testing. It imitates the user, starting from a certain entry point and progressively performing actions until a certain job is completed. And unit tests are different, the latter usually requires testing parameters, types and parameter values, the number of arguments, the [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/e2e-test",
+    "title": "DolphinScheduler E2E Automation Test",
+    "location": [
+      "Contribution",
+      "Guidelines",
+      "E2E Automation Test"
+    ]
+  },
+  {
+    "content": "DolphinScheduler API Automation Test\nPreparatory knowledge\nThe difference between API Test and Unit Test\nAPI test, which imitates the user calling API, starts from a certain entry and performs operations step by step until a certain work is completed. Different from unit testing, the latter usually needs to test parameters, parameter types, parameter values, parameter numbers, return values, throw errors, etc. in order to ensure that a specific function can complete it [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/api-test",
+    "title": "DolphinScheduler API Automation Test",
+    "location": [
+      "Contribution",
+      "Guidelines",
+      "API Automation Test"
+    ]
+  },
+  {
+    "content": "Logging specification\nPreface\nLogs are used to track and record various actions during the development and operation of a system. Standardized log printing can help users or developers to quickly understand the system operation status and locate problems.\nApache DolphinScheduler uses the Logback logging framework to print logs according to four levels: DEBUG, WARN, INFO, and ERROR, with a priority of DEBUG &lt; INFO &lt; WARN &lt; ERROR.\nSpecifications\nLogging level  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/log-specification",
+    "title": "Logging specification",
+    "location": [
+      "Contribution",
+      "Guidelines",
+      "Log Specification"
+    ]
+  },
+  {
+    "content": "Release Guide\nPreparation\nThis section is pre-release work, most of it is one-off, meaning it is only needed for your first release. If you have\nreleased before, then skip this section to the next.\nCheck Your Environment\nTo make sure you could successfully complete the release for DolphinScheduler, you should check your environment and make sure\nall conditions are met, if any or them are missing, you should install them and make sure them work.\n# JDK 1.8 above is r [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/release",
+    "title": "Release Guide",
+    "location": [
+      "Contribution",
+      "Releasing"
+    ]
+  },
+  {
+    "content": "Have Questions?\nSlack\nChat rooms are great for quick questions or discussions on specialized topics.\nThe following chat rooms are officially part of Apache DolphinScheduler:\n​\tThe Slack workspace URL: http://asf-dolphinscheduler.slack.com/.\n​\tYou can join through invitation url: https://join.slack.com/t/asf-dolphinscheduler/shared_invite/zt-1e0s4agia-Ofkxa93zStmqTm9UsQBE8g.\nThis chat room is used for questions and discussions related to using DolphinScheduler.\nMa [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/have-questions",
+    "title": "Have Questions?",
+    "location": [
+      "Contribution",
+      "Questions & Communications"
+    ]
+  },
+  {
+    "content": "DSIP\nDolphinScheduler Improvement Proposal(DSIP) introduce major improvements to the Apache DolphinScheduler codebase. It is\nnot for small incremental improvements, and the purpose of DSIP is to notice and inform community the finished or coming\nbig feature for Apache DolphinScheduler.\nWhat is considered as DSIP\n\nAny major new feature, major improvement, introduce or remove components\nAny major change of public interfaces, such as API endpoints, web ui huge change\ [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/DSIP",
+    "title": "DSIP",
+    "location": [
+      "DSIP",
+      "DSIP"
+    ]
+  },
   {
     "content": "About DolphinScheduler\nApache DolphinScheduler provides a distributed and easy to expand visual workflow task scheduling open-source platform. It is suitable for enterprise-level scenarios. It provides a solution to visualize operation tasks, workflows, and the entire data processing procedures.\nApache DolphinScheduler aims to solve complex big data task dependencies and to trigger relationships in data OPS orchestration for various big data applications. Solves the int [...]
     "version": "dev",
diff --git a/data/doc/zh-cn.json b/data/doc/zh-cn.json
index 9998e1b4b5..760a12c96f 100644
--- a/data/doc/zh-cn.json
+++ b/data/doc/zh-cn.json
@@ -33679,6 +33679,1693 @@
       "DSIP"
     ]
   },
+  {
+    "content": "关于DolphinScheduler\nApache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。\nApache DolphinScheduler 旨在解决复杂的大数据任务依赖关系,并为应用程序提供数据和各种 OPS 编排中的关系。 解决数据研发ETL依赖错综复杂,无法监控任务健康状态的问题。\nDolphinScheduler 以 DAG(Directed Acyclic Graph,DAG)流式方式组装任务,可以及时监控任务的执行状态,支持重试、指定节点恢复失败、暂停、恢复、终止任务等操作。\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/about/introduction",
+    "title": "关于DolphinScheduler",
+    "location": [
+      "关于Apache DolphinScheduler",
+      "简介"
+    ]
+  },
+  {
+    "content": "特性\n简单易用\n\n可视化 DAG: 用户友好的,通过拖拽定义工作流的,运行时控制工具\n模块化操作: 模块化有助于轻松定制和维护。\n\n丰富的使用场景\n\n支持多种任务类型: 支持Shell、MR、Spark、SQL等10余种任务类型,支持跨语言,易于扩展\n丰富的工作流操作: 工作流程可以定时、暂停、恢复和停止,便于维护和控制全局和本地参数。\n\nHigh Reliability\n\n高可靠性: 去中心化设计,确保稳定性。 原生 HA 任务队列支持,提供过载容错能力。 DolphinScheduler 能提供高度稳健的环境。\n\nHigh Scalability\n\n高扩展性: 支持多租户和在线资源管理。支持每天10万个数据任务的稳定运行。\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/about/features",
+    "title": "特性",
+    "location": [
+      "关于Apache DolphinScheduler",
+      "特性"
+    ]
+  },
+  {
+    "content": "软硬件环境建议配置\nDolphinScheduler 作为一款开源分布式工作流任务调度系统,可以很好地部署和运行在 Intel 架构服务器及主流虚拟化环境下,并支持主流的Linux操作系统环境\nLinux 操作系统版本要求\n\n\n\n操作系统\n版本\n\n\n\n\nRed Hat Enterprise Linux\n7.0 及以上\n\n\nCentOS\n7.0 及以上\n\n\nOracle Enterprise Linux\n7.0 及以上\n\n\nUbuntu LTS\n16.04 及以上\n\n\n\n\n注意:\n以上 Linux 操作系统可运行在物理服务器以及 VMware、KVM、XEN 主流虚拟化环境上\n\n服务器建议配置\nDolphinScheduler 支持运行在 Intel x86-64 架构的 64 位通用硬件服务器平台。对生产环境的服务器硬件配置有以下建议:\n生产环境\n\n\n\nCPU\n内存\n硬盘类型\n网络\n实例数量\n\n\n\n\n4核+\n8 GB+\nSAS\n千兆网卡\ [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/about/hardware",
+    "title": "软硬件环境建议配置",
+    "location": [
+      "关于Apache DolphinScheduler",
+      "建议配置"
+    ]
+  },
+  {
+    "content": "名词解释\n在对 Apache DolphinScheduler 了解之前,我们先来认识一下调度系统常用的名词\n名词解释\nDAG: 全称 Directed Acyclic Graph,简称 DAG。工作流中的 Task 任务以有向无环图的形式组装起来,从入度为零的节点进行拓扑遍历,直到无后继节点为止。举例如下图:\n\n流程定义:通过拖拽任务节点并建立任务节点的关联所形成的可视化DAG\n流程实例:流程实例是流程定义的实例化,可以通过手动启动或定时调度生成。每运行一次流程定义,产生一个流程实例\n任务实例:任务实例是流程定义中任务节点的实例化,标识着某个具体的任务\n任务类型:目前支持有 SHELL、SQL、SUB_WORKFLOW(子工作流)、PROCEDURE、MR、SPARK、PYTHON、DEPENDENT(依赖),同时计划支持动态插件扩展,注意:其中 SUB_WORKFLOW类型的任务需要关联另外一个流程定义,被关联的流程定义是
 可以单独启动执行的\n调度方式:系统支持基于 cron 表达式的定时调度和手动调度。命令类型支持: [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/about/glossary",
+    "title": "名词解释",
+    "location": [
+      "关于Apache DolphinScheduler",
+      "名词解释"
+    ]
+  },
+  {
+    "content": "快速上手\n在本节中,我们将使用 DolphinScheduler 逐步创建和运行一个简单的工作流。 在这段旅程中,您将学习 DolphinScheduler 的基本概念,\n并了解运行工作流的最基本配置。 我们在本教程中提供了视频和文字两种方式,您可以选择您喜欢的方式\n视频教程\n\n图文教程\n设置 Dolphinscheduler\n在继续之前,您必须先安装并启动 dolphinscheduler。 对于初学者,我们建议设置 dolphionscheduler 与官方 Docker image 或 standalone server。\n\nstandalone server\ndocker\n\n构建您的第一个工作流程\n您可以使用默认用户名/密码 http://localhost:12345/dolphinscheduler/ui 登录 dolphinscheduler 是“admin/dolphinscheduler123”。\n创建租户\nTenant是使用DolphinScheduler时绕不开的一个概念,所以先简单介绍 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/start/quick-start",
+    "title": "快速上手",
+    "location": [
+      "快速上手",
+      "快速上手"
+    ]
+  },
+  {
+    "content": "Docker 快速使用教程\n本教程使用三种不同的方式通过 Docker 完成 DolphinScheduler 的部署\n\n如果你想要快速体验,推荐使用 standalone-server 镜像,\n如果你想要体验比较完成的服务,推荐使用 docker-compose 启动服务.\n如果你已经有自己的数据库或者 Zookeeper 服务你想要沿用这些基础服务,你可以参考沿用已有的 PostgreSQL 和 ZooKeeper 服务完成部署。\n\n前置条件\n需要安装 Docker 1.13.1 以上版本,以及 Docker Compose 1.28.0 以上版本。\n启动服务\n使用 standalone-server 镜像\n使用 standalone-server 镜像启动一个 DolphinScheduler standalone-server 容器应该是最快体验 DolphinScheduler 的方法。通过这个方式\n你可以最快速的体验到 DolphinScheduler 的大部分功能,了解主要和概念和内容。\n$ DOL [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/start/docker",
+    "title": "Docker 快速使用教程",
+    "location": [
+      "快速上手",
+      "Docker部署(Docker)"
+    ]
+  },
+  {
+    "content": "首页\nApache DolphinScheduler 首页可让您查看用户所有项目的任务实例状态统计、工作流实例状态统计和项目统计。 这是观察整个系统状态以及深入各个进程以检查任务和任务日志的每个状态的最佳方式。\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/homepage",
+    "title": "首页",
+    "location": [
+      "功能介绍",
+      "应用首页"
+    ]
+  },
+  {
+    "content": "项目管理\n创建项目\n点击&quot;项目管理&quot;进入项目管理页面,点击“创建项目”按钮,输入项目名称,项目描述,点击“提交”,创建新的项目。\n\n项目工作组授权\n在项目管理页面,点击“工作组授权”按钮,进入工作组授权页面,如下图所示,选择工作组,点击“分配WorkerGroup”,授权成功后,该项目可以访问该工作组。\n\n项目首页\n在项目管理页面点击项目名称链接,进入项目首页,如下图所示,项目首页包含该项目的任务实例状态统计、工作流实例状态统计、工作流定义统计。这几个指标的说明如下\n\n任务实例状态统计:在指定时间范围内,统计任务实例中状态为提交成功、正在运行、准备暂停、暂停、准备停止、停止、失败、成功、需要容错、kill、等待线程的个数\n工作流实例状态统计:在指定时间范围内,统计工作�
 �实例中状态为提交成功、正在运行、准备暂停、暂停、准备停止、停止、失败、成功、需要容错、kill、等待线程的个数\n工作流定义统计:统计用户创建的工作流定义及管理员授予该用户的工作流定义\n\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/project/project-list",
+    "title": "项目管理",
+    "location": [
+      "功能介绍",
+      "项目管理",
+      "项目列表"
+    ]
+  },
+  {
+    "content": "工作流定义\n创建工作流定义\n\n\n点击项目管理-&gt;工作流-&gt;工作流定义,进入工作流定义页面,点击“创建工作流”按钮,进入工作流DAG编辑页面,如下图所示:\n\n\n\n工具栏中拖拽  到画板中,新增一个Shell任务,如下图所示:\n\n\n\n添加 Shell 任务的参数设置:\n\n填写“节点名称”,“描述”,“脚本”字段;\n“运行标志”勾选“正常”,若勾选“禁止执行”,运行工作流不会执行该任务;\n选择“任务优先级”:当 worker 线程数不足时,级别高的任务在执行队列中会优先执行,相同优先级的任务按照先进先出的顺序执行;\n超时告警(非必选):勾选超时告警、超时失败,填写“超时时长”,当任务执行时间超过超时时长,会发送告警邮件并且任务超时失败;\n资源(非必选):资源文件是资源中心-&gt;文件管理页面创建或上传的�
 ��件,如文件名为 test.sh,脚本中调用资源命令为 sh test.sh。注意调用需要使用资源的全路径;\n自定义参数(非必填);\n点击&quot;确认添加&quot;按钮,保存任务设置。\ [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/project/workflow-definition",
+    "title": "工作流定义",
+    "location": [
+      "功能介绍",
+      "项目管理",
+      "工作流定义"
+    ]
+  },
+  {
+    "content": "工作流实例\n查看工作流实例\n\n点击项目管理-&gt;工作流-&gt;工作流实例,进入工作流实例页面,如下图所示:\n\n\n\n点击工作流名称,进入DAG查看页面,查看任务执行状态,如下图所示。\n\n\n查看任务日志\n\n进入工作流实例页面,点击工作流名称,进入DAG查看页面,双击任务节点,如下图所示:\n\n\n\n点击&quot;查看日志&quot;,弹出日志弹框,如下图所示,任务实例页面也可查看任务日志,参考任务查看日志。\n\n\n查看任务历史记录\n\n点击项目管理-&gt;工作流-&gt;工作流实例,进入工作流实例页面,点击工作流名称,进入工作流 DAG 页面;\n双击任务节点,如下图所示,点击&quot;查看历史&quot;,跳转到任务实例页面,并展示该任务定义运行的任务实例列表\n\n\n查看运行参数\n\n点击项目管理-&gt;工作流-&gt;工作流实例,进入工作流实例页面,�
 �击工作流名称,进入工作流 DAG 页面;\n点击左上角图标,查看工作流实例的启动参数;点击图标,查看工作流实例的全局参数和局部参数,如下 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/project/workflow-instance",
+    "title": "工作流实例",
+    "location": [
+      "功能介绍",
+      "项目管理",
+      "工作流实例"
+    ]
+  },
+  {
+    "content": "任务实例\n批量任务实例\n\n点击项目管理-&gt;工作流-&gt;任务实例,进入任务实例页面,如下图所示,点击工作流实例名称,可跳转到工作流实例DAG图查看任务状态。\n\n\n\n查看日志:点击操作列中的“查看日志”按钮,可以查看任务执行的日志情况。\n\n\n实时任务实例\n\n切换到实时任务实例页面,如下图所示:\n\n\n\nSavePoint:点击操作列中的SavePoint按钮,可以进行实时任务的SavePoint。\nStop:点击操作列中的Stop按钮,可以停止该实时任务。\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/project/task-instance",
+    "title": "任务实例",
+    "location": [
+      "功能介绍",
+      "项目管理",
+      "任务实例"
+    ]
+  },
+  {
+    "content": "DolphinScheduler任务参数附录\nDolphinScheduler任务插件有一些公共参数,我们将这些公共参数列在文档中供您查阅。每种任务都有如下的所有或者部分默认参数:\n默认任务参数\n\n\n\n任务参数\n描述\n\n\n\n\n任务名称\n任务的名称,同一个工作流定义中的节点名称不能重复。\n\n\n运行标志\n标识这个节点是否需要调度执行,如果不需要执行,可以打开禁止执行开关。\n\n\n缓存执行\n标识这个节点是否需要进行缓存,如果缓存,则对于相同标识(相同任务版本,相同任务定义,相同参数传入)的任务进行缓存,运行时若已经存在缓存过的任务时,不再重复执行,直接复用结果。\n\n\n描述\n当前节点的功能描述。\n\n\n任务优先级\nworker线程数不足时,根据优先级从高到低依次执行任务,优先级一样时根据先到先得原则执行。\n\n\nWorker分组\n设置分组�
 ��,任务会被分配给worker组的机器机执行。若选择Default,则会随机选择一个worker执行。\n\n\n任务组名称\n任务资源组,未配置则不生 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/appendix",
+    "title": "DolphinScheduler任务参数附录",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Appendix"
+    ]
+  },
+  {
+    "content": "Shell\n综述\nShell 任务类型,用于创建 Shell 类型的任务并执行一系列的 Shell 脚本。worker 执行该任务的时候,会生成一个临时 shell 脚本,并使用与租户同名的 linux 用户执行这个脚本。\n创建任务\n\n点击项目管理-项目名称-工作流定义,点击&quot;创建工作流&quot;按钮,进入 DAG 编辑页面。\n工具栏中拖动  到画板中,即可完成创建。\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n除上述默认参数,此任务没有其他参数\n\n任务样例\n简单打印一行文字\n该样例模拟了常见的简单任务,这些任务只需要简单的一两行命令就能运行起来。我们以打印一行日志为例,该任务仅会在日志文件中打印一行\n&quot;This is a demo of shell task&quot;\n\n使用自定义参数\n该样例模拟了自定义参数任务,为了更方便的复用已有的任务,�
 ��者面对动态的需求时,我们会使用变量保证脚本的复用性。本例中,我们先在自定义脚本\n [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/shell",
+    "title": "Shell",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Shell"
+    ]
+  },
+  {
+    "content": "子流程节点\n综述\n子流程节点,就是把外部的某个工作流定义当做一个节点去执行。\n创建任务\n\n\n点击项目管理 -&gt; 项目名称 -&gt; 工作流定义,点击”创建工作流”按钮,进入 DAG 编辑页面:\n\n\n拖动工具栏的  任务节点到画板中。\n\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n\n\n\n任务参数\n描述\n\n\n\n\n子节点\n是选择子流程的工作流定义,右上角进入该子节点可以跳转到所选子流程的工作流定义\n\n\n\n任务样例\n该样例模拟了常见的任务类型,这里我们使用子结点任务调用 Shell 打印出 ”hello world“。即将一个 shell 任务当作子结点来执行。\n创建 shell 任务\n创建一个 shell 任务,用于打印 “hello”。并为该工作流定义为 test_dag01。\n\n创建 sub_workflow 任务\n在使用 sub_workflow 的过程中,需要创建所�
 ��的子结点任务,也就是我们第一步所创建的 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/sub-workflow",
+    "title": "子流程节点",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "SubWorkflow"
+    ]
+  },
+  {
+    "content": "Dependent 节点\n综述\nDependent 节点,就是依赖检查节点。比如 A 流程依赖昨天的 B 流程执行成功,依赖节点会去检查 B 流程在昨天是否有执行成功的实例。\n创建任务\n\n点击项目管理 -&gt; 项目名称 -&gt; 工作流定义,点击“创建工作流”按钮,进入 DAG 编辑页面;\n拖动工具栏的 任务节点到画板中。\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n\n\n\n任务参数\n描述\n\n\n\n\n添加依赖\n配置依赖的上游任务.\n\n\n检查间隔\n检查依赖的上游任务状态间隔,默认10s.\n\n\n依赖失败策略\n失败: 依赖的上游任务失败当前任务直接失败;等待: 依赖的上游任务失败当前任务继续等待;\n\n\n依赖失败等待时间\n当依赖失败策略选择等待时,当前任务等待的时间.\n\n\n\n任务样例\nDependent 节点提供了逻辑判断功能,可以按�
 �逻辑来检测所依赖节点的执行情况。\n支持两种依赖模式,包括依赖于工作流和依赖于任 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/dependent",
+    "title": "Dependent 节点",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Dependent"
+    ]
+  },
+  {
+    "content": "存储过程节点\n\n根据选择的数据源,执行存储过程。\n\n\n拖动工具栏中的PROCEDURE任务节点到画板中,如下图所示:\n\n\n   \n \n\n前提:在该数据库里面创建存储过程,如:\n\nCREATE PROCEDURE dolphinscheduler.test(in in1 INT, out out1 INT)\nbegin\n\tset out1=in1;\nEND\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n\n\n\n任务参数\n描述\n\n\n\n\n数据源\n存储过程的数据源类型支持MySQL、POSTGRESQL、ORACLE,选择对应的数据源\n\n\nSQL Statement\n调用存储过程,如 call test(${in1},${out1});\n\n\n自定义参数\n存储过程的自定义参数类型支持IN、OUT两种,数据类型支持VARCHAR、INTEGER、LONG、FLOAT、DOUBLE、DATE、TIME、TIMESTAMP、 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/stored-procedure",
+    "title": "存储过程节点",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Stored Procedure"
+    ]
+  },
+  {
+    "content": "SQL\n综述\nSQL任务类型,用于连接数据库并执行相应SQL。\n创建数据源\n可参考 数据源配置 数据源中心。\n创建任务\n\n点击项目管理-项目名称-工作流定义,点击&quot;创建工作流&quot;按钮,进入DAG编辑页面。\n工具栏中拖动  到画板中,选择需要连接的数据源,即可完成创建。\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n数据源:选择对应的数据源\nsql类型:支持查询和非查询两种。\n查询:支持 DML select 类型的命令,是有结果集返回的,可以指定邮件通知为表格、附件或表格附件三种模板;\n非查询:支持 DDL全部命令 和 DML update、delete、insert 三种类型的命令;\n默认采用;\\n作为SQL分隔符,拆分成多段SQL语句执行。Hive的JDBC不支持一次执行多段SQL语句,请不要使用;\\n。\nsql参数:输入参数格式为key1=value
 1;key2=value2…\nsql语句:SQL语句\n自定义参数:SQL任 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/sql",
+    "title": "SQL",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "SQL"
+    ]
+  },
+  {
+    "content": "SPARK节点\n综述\nSpark  任务类型用于执行 Spark 应用。对于 Spark 节点,worker 支持两个不同类型的 spark 命令提交任务:\n(1) spark submit 方式提交任务。更多详情查看 spark-submit。\n(2) spark sql 方式提交任务。更多详情查看 spark sql。\n创建任务\n\n\n点击项目管理 -&gt; 项目名称 -&gt; 工作流定义,点击”创建工作流”按钮,进入 DAG 编辑页面:\n\n\n拖动工具栏的  任务节点到画板中。\n\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n程序类型:支持 Java、Scala、Python 和 SQL 四种语言。\n主函数的 Class:Spark 程序的入口 Main class 的全路径。\n主程序包:执行 Spark 程序的 jar 包(通过资源中心上传)。\nMaster:执行 Spark 集群的 Master Url。\nSQL脚本:Spark sql  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/spark",
+    "title": "SPARK节点",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Spark"
+    ]
+  },
+  {
+    "content": "MapReduce(MR) 节点\n综述\nMapReduce(MR) 任务类型,用于执行 MapReduce 程序。对于 MapReduce 节点,worker 会通过使用 Hadoop 命令 hadoop jar 的方式提交任务。更多详情查看 Hadoop Command Manual。\n创建任务\n\n点击项目管理-项目名称-工作流定义,点击&quot;创建工作流&quot;按钮,进入 DAG 编辑页面。\n拖动工具栏中的  任务节点到画板中,如下图所示:\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\nJAVA/SCALA 程序\n\n\n\n任务参数\n描述\n\n\n\n\n程序类型\n选择 JAVA/SCALA 语言\n\n\n主函数的 Class\n是 MapReduce 程序的入口 Main Class 的全路径\n\n\n主程序包\n执行 MapReduce 程序的 jar 包\n\n\n任务名称(选填)\nMapReduce 任务名称\n\n\nYarn [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/map-reduce",
+    "title": "MapReduce(MR) 节点",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "MapReduce"
+    ]
+  },
+  {
+    "content": "Python 节点\n综述\nPython 任务类型,用于创建 Python 类型的任务并执行一系列的 Python 脚本。worker 执行该任务的时候,会生成一个临时python脚本,\n并使用与租户同名的 linux 用户执行这个脚本。\n创建任务\n\n点击项目管理-项目名称-工作流定义,点击&quot;创建工作流&quot;按钮,进入DAG编辑页面。\n工具栏中拖动  到画板中,即可完成创建。\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n\n\n\n任务参数\n描述\n\n\n\n\n脚本\n用户开发的PYTHON程序\n\n\n自定义参数\n是PYTHON局部的用户自定义参数,会替换脚本中以${变量}的内容\n\n\n\n任务样例\n简单打印一行文字\n该样例模拟了常见的简单任务,这些任务只需要简单的一两行命令就能运行起来。我们以打印一行日志为例,该任务仅会在日志文件中打印一行\n&quot;This i
 s a demo of python task&quot; [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/python",
+    "title": "Python 节点",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Python"
+    ]
+  },
+  {
+    "content": "Flink节点\n综述\nFlink 任务类型,用于执行 Flink 程序。对于 Flink 节点:\n\n\n当程序类型为 Java、Scala 或 Python 时,worker 使用 Flink 命令提交任务 flink run。更多详情查看 flink cli 。\n\n\n当程序类型为 SQL 时,worker 使用sql-client.sh 提交任务。更多详情查看 flink sql client 。\n\n\n创建任务\n\n点击项目管理-项目名称-工作流定义,点击“创建工作流”按钮,进入 DAG 编辑页面;\n拖动工具栏的  任务节点到画板中。\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n\n\n\n任务参数\n描述\n\n\n\n\n程序类型\n支持 Java、Scala、 Python 和 SQL 四种语言\n\n\n主函数的 Class\nFlink 程序的入口 Main Class 的全路径\n\n\n主程序包\n执行 Flink 程序的 jar 包 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/flink",
+    "title": "Flink节点",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Flink"
+    ]
+  },
+  {
+    "content": "HTTP 节点\n综述\n该节点用于执行 http 类型的任务,此外还支持 http 请求校验等功能。\n创建任务\n\n\n点击项目管理 -&gt; 项目名称 -&gt; 工作流定义,点击”创建工作流”按钮,进入 DAG 编辑页面:\n\n\n拖动工具栏的  任务节点到画板中。\n\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n\n\n\n任务参数\n描述\n\n\n\n\n请求地址\nhttp 请求 URL\n\n\n请求类型\n支持 GET、POST、PUT、DELETE\n\n\n请求参数\n支持 Parameter、Body、Headers\n\n\n校验条件\n支持默认响应码、自定义响应码、内容包含、内容不包含\n\n\n校验内容\n当校验条件选择自定义响应码、内容包含、内容不包含时,需填写校验内容\n\n\n自定义参数\n是 http 局部的用户自定义参数,会替换脚本中以 ${变量} 的内容\n\n\n\n任务输出参数\n\n\n\n任务参数\n描述\n\n\n [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/http",
+    "title": "HTTP 节点",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "HTTP"
+    ]
+  },
+  {
+    "content": "DATAX 节点\n综述\nDataX 任务类型,用于执行 DataX 程序。对于 DataX 节点,worker 会通过执行 ${DATAX_LAUNCHER} 来解析传入的 json 文件。\n执行 datax 任务前需要在环境变量或者 dolphinshceduler_env.sh 中配置 PYTHON_LAUNCHER 和 DATAX_LAUNCHER,部分 datax 发行版只支持 python2.7。\n创建任务\n\n点击项目管理 -&gt; 项目名称 -&gt; 工作流定义,点击“创建工作流”按钮,进入 DAG 编辑页面;\n拖动工具栏的 任务节点到画板中。\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n\n\n\n任务参数\n描述\n\n\n\n\njson\nDataX 同步的 json 配置文件\n\n\n资源\n在使用自定义json中如果集群开启了kerberos认证后,datax读取或者写入hdfs、hbase等插件时需要使用相关的keytab,xm [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/datax",
+    "title": "DATAX 节点",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "DataX"
+    ]
+  },
+  {
+    "content": "SQOOP 节点\n综述\nSQOOP 任务类型,用于执行 SQOOP 程序。对于 SQOOP 节点,worker 会通过执行 sqoop 命令来执行 SQOOP 任务。\n创建任务\n\n点击项目管理 -&gt; 项目名称 -&gt; 工作流定义,点击“创建工作流”按钮,进入 DAG 编辑页面;\n拖动工具栏的  任务节点到画板中。\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n\n\n\n任务参数\n描述\n\n\n\n\n任务名称\nmap-reduce 任务名称\n\n\n流向\n(1) import:从 RDBMS 导入 HDFS 或Hive  (2) export:从 HDFS 或 Hive 导出到 RDBMS\n\n\nHadoop 参数\n添加自定义 Hadoop 参数\n\n\nSqoop 参数\n添加自定义 Sqoop 参数\n\n\n数据来源 - 类型\n选择数据源类型\n\n\n数据来源 - 数据源\n选择数据源\n\n\n数据来源 - 模式\n(1) [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/sqoop",
+    "title": "SQOOP 节点",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Sqoop"
+    ]
+  },
+  {
+    "content": "Conditions 节点\nConditions 是一个条件节点,根据上游任务运行状态,判断应该运行哪个下游任务。截止目前 Conditions 支持多个上游任务,但只支持两个下游任务。当上游任务数超过一个时,可以通过且以及或操作符实现复杂上游依赖\n创建任务\n\n点击项目管理-项目名称-工作流定义,点击“创建工作流”按钮,进入 DAG 编辑页面;\n拖动工具栏中的任务节点到画板中。\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n\n\n\n任务参数\n描述\n\n\n\n\n下游任务选择\n根据前置任务的状态来跳转到对应的分支:成功分支 - 当上游运行成功时,运行成功选择的分支;失败分支 - 当上游运行失败时,运行失败选择的分支\n\n\n上游条件选择\n可以为 Conditions 任务选择一个或多个上游任务:增加上游依赖 - 通过选择第一个�
 ��数选择对应的任务名称,通过第二个参数选择触发的 Conditions 任务的状态;上游任务关系选择 - 当有多个上游任务时,可 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/conditions",
+    "title": "Conditions 节点",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Conditions"
+    ]
+  },
+  {
+    "content": "Switch\nSwitch 是一个条件判断节点,依据全局变量的值和用户所编写的表达式判断结果执行对应分支。\n注意使用 javax.script.ScriptEngine.eval 执行表达式。\n创建任务\n点击项目管理 -&gt; 项目名称 -&gt; 工作流定义,点击&quot;创建工作流&quot;按钮,进入 DAG 编辑页面。\n拖动工具栏中的  任务节点到画板中即能完成任务创建。\n注意 switch 任务创建后,要先配置上下游,才能配置任务分支的参数。\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n\n\n\n任务参数\n描述\n\n\n\n\n条件\n可以为 switch 任务配置多个条件,当条件满足时,就会执行指定的分支,可以配置多个不同的条件来满足不同的业务,使用字符串判断时需要使用&quot;&quot;\n\n\n分支流转\n默认的流转内容,当条件中的内容为全部不符合要求时,则运行分支�
 �转中指定的分支\n\n\n\n任务样例\n这里使用一个 switch [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/switch",
+    "title": "Switch",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Switch"
+    ]
+  },
+  {
+    "content": "Apache SeaTunnel\n综述\nSeaTunnel 任务类型,用于创建并执行 SeaTunnel 类型任务。worker 执行该任务的时候,会通过 start-seatunnel-spark.sh 、 start-seatunnel-flink.sh 和 seatunnel.sh 命令解析 config 文件。\n点击 这里 获取更多关于 Apache SeaTunnel 的信息。\n创建任务\n\n点击项目管理 -&gt; 项目名称 -&gt; 工作流定义,点击“创建工作流”按钮,进入 DAG 编辑页面;\n拖动工具栏的 任务节点到画板中。\n\n任务参数\n\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n\n启动脚本:选择你想要运行任务的启动脚本,包括 seatunnel.sh, start-seatunnel-flink-13-connector-v2.sh, start-seatunnel-flink-15-connector-v2.sh, start-seatunnel [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/seatunnel",
+    "title": "Apache SeaTunnel",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "SeaTunnel"
+    ]
+  },
+  {
+    "content": "Amazon EMR\n综述\nAmazon EMR 任务类型,用于在AWS上操作EMR集群并执行计算任务。\n后台使用 aws-java-sdk 将JSON参数转换为任务对象,提交到AWS,目前支持两种程序类型:\n\nRUN_JOB_FLOW 使用 API_RunJobFlow 提交 RunJobFlowRequest 对象\nADD_JOB_FLOW_STEPS 使用 API_AddJobFlowSteps 提交 AddJobFlowStepsRequest 对象\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n\n\n\n任务参数\n描述\n\n\n\n\n程序类型\n选择程序类型,如果是RUN_JOB_FLOW,则需要填写jobFlowDefineJson,如果是ADD_JOB_FLOW_STEPS,则需要填写stepsDefineJson\n\n\njobFlowDefineJson\nRunJobFlowRequest 对象对应的JSON,详细JSON定义参见 A [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/emr",
+    "title": "Amazon EMR",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Amazon EMR"
+    ]
+  },
+  {
+    "content": "Apache Zeppelin\n综述\nZeppelin任务类型,用于创建并执行Zeppelin类型任务。worker 执行该任务的时候,会通过Zeppelin Cient API触发Zeppelin Notebook Paragraph。\n点击这里 获取更多关于Apache Zeppelin Notebook的信息。\n创建任务\n\n点击项目管理-项目名称-工作流定义,点击&quot;创建工作流&quot;按钮,进入DAG编辑页面。\n工具栏中拖动  到画板中,即可完成创建。\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n\n\n\n任务参数\n描述\n\n\n\n\nZeppelin Note ID\nZeppelin Note对应的唯一ID\n\n\nZeppelin Paragraph ID\nZeppelin Paragraph对应的唯一ID。如果你想一次性调度整个note,这一栏不填即可\n\n\nZeppelin Rest Endpoint\n您的Zepp [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/zeppelin",
+    "title": "Apache Zeppelin",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Apache Zeppelin"
+    ]
+  },
+  {
+    "content": "Jupyter\n综述\nJupyter任务类型,用于创建并执行Jupyter类型任务。worker 执行该任务的时候,会通过papermill执行jupyter note。\n点击这里 获取更多关于papermill的信息。\nConda虚拟环境配置\n\n在common.properties配置conda.path,将其指向您的conda.sh。这里的conda应该是您用来管理您的 papermill和jupyter所在python环境的相同conda。\n点击 这里 获取更多关于conda的信息.\nconda.path默认设置为/opt/anaconda3/etc/profile.d/conda.sh。 如果您不清楚您的conda环境在哪里,只需要在命令行执行conda info | grep -i 'base environment'即可获得。\n\n\n注意:Jupyter任务插件使用source命令激活conda环境,\n如果您的租户没有source命令使用权限,Jupyter任务插件将无法使用。\n\nPython依赖管理 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/jupyter",
+    "title": "Jupyter",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Jupyter"
+    ]
+  },
+  {
+    "content": "Hive CLI\n综述\n使用Hive Cli任务插件创建Hive Cli类型的任务执行SQL脚本语句或者SQL任务文件。\n执行任务的worker会通过hive -e命令执行hive SQL脚本语句或者通过hive -f命令执行资源中心中的hive SQL文件。\nHive CLI任务 VS 连接Hive数据源的SQL任务\n在DolphinScheduler中,我们有Hive CLI任务插件和使用Hive数据源的SQL插件提供用户在不同场景下使用,您可以根据需要进行选择。\n\nHive CLI任务插件直接连接HDFS和Hive Metastore来执行hive类型的任务,所以需要能够访问到对应的服务。\n执行任务的worker节点需要有相应的Hive jar包以及Hive和HDFS的配置文件。\n但是在生产调度中,Hive CLI任务插件能够提供更可靠的稳定性。\n使用Hive数据源的SQL插件不需要您在worker节点上有相应的Hive jar包以及Hive和HDFS的配置文件,而且支持 Kerberos认证。\n但是在生产调度 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/hive-cli",
+    "title": "Hive CLI",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Hive CLI"
+    ]
+  },
+  {
+    "content": "Kubernetes\n综述\nkubernetes任务类型,用于在kubernetes上执行一个短时和批处理的任务。worker最终会通过使用kubernetes client提交任务。\n创建任务\n\n点击项目管理-项目名称-工作流定义,点击&quot;创建工作流&quot;按钮,进入DAG编辑页面。\n工具栏中拖动  到画板中,选择需要连接的数据源,即可完成创建。\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n\n\n\n任务参数\n描述\n\n\n\n\n命名空间\n选择kubernetes集群上存在的命名空间\n\n\n最小CPU\n任务在kubernetes上运行所需的最小CPU\n\n\n最小内存\n任务在kubernetes上运行所需的最小内存\n\n\n镜像\n镜像地址\n\n\n镜像拉取策略\n镜像的拉取策略\n\n\n容器执行命令\n容器执行命令(yaml格式数组),例如:[&quot;printenv&quot;]\n\n\n执行命令参数\n执行命令 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/kubernetes",
+    "title": "Kubernetes",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Kubernetes"
+    ]
+  },
+  {
+    "content": "MLflow节点\n综述\nMLflow 是一个MLops领域一个优秀的开源项目, 用于管理机器学习的生命周期,包括实验、可再现性、部署和中心模型注册。\nMLflow 组件用于执行 MLflow 任务,目前包含Mlflow Projects,和MLflow Models。(Model Registry将在不就的将来支持)。\n\nMLflow Projects: 将代码打包,并可以运行到任务的平台上。\nMLflow Models: 在不同的服务环境中部署机器学习模型。\nModel Registry: 在一个中央存储库中存储、注释、发现和管理模型 (你也可以在你的MLflow project 里面自行注册模型)。\n\n目前 Mlflow 组件支持的和即将支持的内容如下中:\n\nMLflow Projects\n\nBasicAlgorithm: 基础算法,包含LogisticRegression, svm, lightgbm, xgboost\nAutoML: AutoML工具,包含autosklean, flaml\nCusto [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/mlflow",
+    "title": "MLflow节点",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "MLflow"
+    ]
+  },
+  {
+    "content": "OpenMLDB 节点\n综述\nOpenMLDB 是一个优秀的开源机器学习数据库,提供生产级数据及特征开发全栈解决方案。\nOpenMLDB任务组件可以连接OpenMLDB集群执行任务。\n创建任务\n\n点击项目管理-项目名称-工作流定义,点击“创建工作流”按钮,进入 DAG 编辑页面;\n拖动工具栏的  任务节点到画板中。\n\n任务样例\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n\n\n\n任务参数\n描述\n\n\n\n\nzookeeper地址\nOpenMLDB集群连接地址中的zookeeper地址, e.g. 127.0.0.1:2181\n\n\nzookeeper路径\nOpenMLDB集群连接地址中的zookeeper路径, e.g. /openmldb\n\n\n执行模式\n初始执行模式(离线/在线),你可以在sql语句中随时切换\n\n\nSQL语句\nSQL语句\n\n\n\n下面有几个例子:\n导入数据\n\n我们使用LOAD DATA语句导入数据到Open [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/openmldb",
+    "title": "OpenMLDB 节点",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Openmldb"
+    ]
+  },
+  {
+    "content": "DVC节点\n综述\nDVC(Data Version Control) 是一个MLops领域一个优秀的开机器学习版本管理系统。\nDVC 组件用于在DS上使用DVC的数据版本管理功能,帮助用户简易地进行数据的版本管理。组件提供如下三个功能:\n\nInit DVC: 将git仓库初始化为DVC仓库,并绑定存储数据的地址用于存储实际的数据。\nUpload: 将特定数据添加或者更新到仓库中,并记录版本号。\nDownload: 从仓库中下载特定版本的数据。\n\n创建任务\n\n点击项目管理-项目名称-工作流定义,点击“创建工作流”按钮,进入 DAG 编辑页面;\n拖动工具栏的  任务节点到画板中。\n\n任务样例\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n\n\n\n任务参数\n描述\n\n\n\n\nDVC任务类型\n可以选择 Upload、Download、Init DVC\n\n\nDVC仓库\n任务执行时关联的仓库地址\n\n\n\nInit DVC\n将git仓�
 �初始化为DV [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/dvc",
+    "title": "DVC节点",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "DVC"
+    ]
+  },
+  {
+    "content": "Dinky\nOverview\nDinky任务类型,用于创建并执行Dinky类型任务以支撑一站式的开发、调试、运维 FlinkSQL、Flink Jar、SQL。worker 执行该任务的时候,会通过Dinky API触发Dinky 的作业。\n点击这里 获取更多关于Dinky的信息。\nCreate Task\n\n点击项目管理-项目名称-工作流定义,点击&quot;创建工作流&quot;按钮,进入DAG编辑页面。\n工具栏中拖动  到画板中,即可完成创建。\n\nTask Parameter\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n\n\n\n任务参数\n描述\n\n\n\n\nDinky 地址\nDinky 服务的 url,例如:http://localhost:8888。\n\n\nDinky 任务 ID\nDinky 作业对应的唯一ID。\n\n\n上线作业\n指定当前 Dinky 作业是否上线,如果是,则该被提交的作业只能处于已发布且当前无对应的 Flink Job 实例 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/dinky",
+    "title": "Dinky",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Dinky"
+    ]
+  },
+  {
+    "content": "JAVA 节点\n综述\n该节点用于执行Java类型的任务,支持使用FAT_JAR类型和NORMAL_JAR类型的jar包运行。\n创建任务\n\n\n点击项目管理 -&gt; 项目名称 -&gt; 工作流定义,点击”创建工作流”按钮,进入 DAG 编辑页面:\n\n\n拖动工具栏的JAVA任务节点到画板中。\n\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n\n\n\n任务参数\n描述\n\n\n\n\n模块路径\n开启使用JAVA9+的模块化特性,把所有资源放入--module-path中,要求您的worker中的JDK版本支持模块化\n\n\n主程序参数\n作为普通Java程序main方法入口参数\n\n\n虚拟机参数\n配置启动虚拟机参数\n\n\n主类名\n启动类的完整主类名(可选)\n\n\n主程序包\n选择要运行程序的主程序包\n\n\n资源\n可以是外部JAR包也可以是其他资源文件,它们都会被加入到类路径或模块路径中,您可以在自己
 的JAVA脚本中轻松获取\n\ [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/java",
+    "title": "JAVA 节点",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Java"
+    ]
+  },
+  {
+    "content": "SageMaker 节点\n综述\nAmazon SageMaker 是一个云机器学习平台。 提供了完整的基础设施,工具和工作流来帮助用户可以创建、训练和发布机器学习模型。\nAmazon SageMaker Model Building Pipelines 是一个可以直接使用SageMaker各种集成的机器学习管道构建工具,用户可以使用使用 Amazon SageMaker Pipeline 来构建端到端的机器学习系统。\n对于使用大数据与人工智能的用户,SageMaker 任务组件帮助用户可以串联起大数据工作流与SagaMaker的使用场景。\nDolphinScheduler SageMaker 组件的功能:\n\n启动 SageMaker Pipeline Execution,并持续获取状态,直至Pipeline执行完成。\n\n创建任务\n\n点击项目管理-项目名称-工作流定义,点击“创建工作流”按钮,进入 DAG 编辑页面;\n拖动工具栏的  任务节点到画板中。\n\n任务样例\n\n默认参数说明请参考DolphinSched [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/sagemaker",
+    "title": "SageMaker 节点",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "SageMaker"
+    ]
+  },
+  {
+    "content": "ChunJun节点\n综述\nChunJun 任务类型,用于执行 ChunJun 程序。对于 ChunJun 节点,worker 会通过执行 ${CHUNJUN_HOME}/bin/start-chunjun 来解析传入的 json 文件。\n创建任务\n\n点击项目管理 -&gt; 项目名称 -&gt; 工作流定义,点击“创建工作流”按钮,进入 DAG 编辑页面;\n拖动工具栏的 任务节点到画板中。\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n\n\n\n任务参数\n描述\n\n\n\n\n自定义模板\n自定义 ChunJun 节点的 json 配置文件内容,当前支持此种方式。\n\n\njson\nChunJun 同步的 json 配置文件。\n\n\n自定义参数\n用户自定义参数,会替换脚本中以 ${变量} 的内容。\n\n\n部署方式\n执行ChunJun任务的方式,比如local,standalone等。\n\n\n选项参数\n支持 -confProp &quot [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/chunjun",
+    "title": "ChunJun节点",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "ChunJun"
+    ]
+  },
+  {
+    "content": "Pytorch 节点(试验版)\n综述\nPytorch 是一个的主流Python机器学习库。\n为了用户能够在DolphinScheduler中更方便的运行Pytorch项目,实现了Pytorch任务组件。主要提供便捷的python环境管理以及支持运行python项目。\n与Python任务组件不同,该组件允许用户快速使用已有python环境或者创建新的python环境(使用virtualenv或者conda);支持运行Python项目(本地项目或者Git项目)而非只是python脚本。\n创建任务\n\n点击项目管理-项目名称-工作流定义,点击“创建工作流”按钮,进入 DAG 编辑页面;\n拖动工具栏的  任务节点到画板中。\n\n任务样例\n组件图示如下:\n\nPytorch参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\n运行参数\n\n\n\n任务参数\n描述\n\n\n\n\npython脚本\n需要运行的python脚本文件入口\n\n\n脚本启动参数\n运行时的输入�
 �数\ [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/pytorch",
+    "title": "Pytorch 节点(试验版)",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Pytorch"
+    ]
+  },
+  {
+    "content": "DMS 节点\n综述\nAWS Database Migration Service (AWS DMS) 可帮助您快速并安全地将数据库迁移至 AWS。\n源数据库在迁移过程中可继续正常运行,从而最大程度地减少依赖该数据库的应用程序的停机时间。\nAWS Database Migration Service 可以在广泛使用的开源商业数据库之间迁移您的数据。\nDMS任务组件帮助用户在DolphinScheduler中创建和启动DMS任务。\n组件主要包含两个功能:\n\n创建并启动迁移任务\n重启已存在的迁移任务\n\n组件的使用方式有两种:\n\n通过界面创建\n通过Json数据创建\n\nDolphinScheduler 在 启动DMS 任务后,会跟中DMS任务状态,直至DMS任务完成后才将任务设为成功状态。除了以下情况:\n不跟踪无结束时间的CDC任务,即 当迁移类型为 full-load-and-cdc 或者 cdc 时,且没有配置 cdcStopPosition 参数时,DolphinScheduler 在成功启动任务后,则会将任 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/dms",
+    "title": "DMS 节点",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Amazon DMS"
+    ]
+  },
+  {
+    "content": "DataSync 节点\n综述\nAWS DataSync 是一种在线数据传输服务,可简化、自动化和加速本地存储系统和 AWS Storage 服务之间,以及不同 AWS Storage 服务之间的数据移动。\nDataSync 支持的组件:\n\nNetwork File System (NFS) file servers\nServer Message Block (SMB) file servers\nHadoop Distributed File System (HDFS)\nObject storage systems\nAmazon Simple Storage Service (Amazon S3) buckets\nAmazon EFS file systems\nAmazon FSx for Windows File Server file systems\nAmazon FSx for Lustre file systems\nAmazon FSx for OpenZFS file systems\nAmazon FS [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/datasync",
+    "title": "DataSync 节点",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "AWS Datasync"
+    ]
+  },
+  {
+    "content": "Kubeflow\n综述\nKubeflow 任务类型,用于在Kubeflow上创建任务。\n后台主要使用 kubectl 命令来创建kubeflow任务, 并持续Kubeflow上资源状态直至任务完成。\n目前主要支持通过使用yaml文件来创建kubeflow任务。 如果需要发布kubeflow pipeline任务可以使用python任务类型。\n创建任务\n\n点击项目管理-项目名称-工作流定义,点击“创建工作流”按钮,进入 DAG 编辑页面;\n拖动工具栏的  任务节点到画板中。\n\n任务样例\n组件图示如下:\n\n首先介绍一些DS通用参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\n\nKubeflow组件独有的参数\n\nNamespace:集群命名空间参数\nyamlContent:CRD YAML文件内容, 如:\n\napiVersion: &quot;kubeflow.org/v1&quot;\nkind: TFJob\nmetadata:\n  name: tfjob [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/kubeflow",
+    "title": "Kubeflow",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Kubeflow"
+    ]
+  },
+  {
+    "content": "Apache Linkis\n综述\nLinkis 任务类型,用于创建并执行 Linkis 类型任务。worker 执行该任务的时候,会通过 linkis-cli 执行命令行。\n点击 这里 获取更多关于 Apache Linkis 的信息。\n创建任务\n\n点击项目管理 -&gt; 项目名称 -&gt; 工作流定义,点击“创建工作流”按钮,进入 DAG 编辑页面;\n拖动工具栏的 任务节点到画板中。\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\nLinkis支持的参数列表请参考linkis-cli任务参数支持的参数列表一栏。\n\n任务样例\n该样例演示为使用 Spark 引擎提交sql执行。\n在 DolphinScheduler 中配置 Linkis 环境\n若生产环境中要是使用到 Linkis 任务类型,则需要先配置好所需的环境,配置文件如下:/dolphinscheduler/conf/env/dolphinscheduler_env.sh。\n\n配置 Linkis [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/linkis",
+    "title": "Apache Linkis",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Apache Linkis"
+    ]
+  },
+  {
+    "content": "RemoteShell\n综述\nRemoteShell 任务类型,用于在远程服务器上执行命令。\n创建任务\n\n点击项目管理-项目名称-工作流定义,点击&quot;创建工作流&quot;按钮,进入 DAG 编辑页面。\n工具栏中拖动  到画板中,即可完成创建。\n\n任务参数\n\n默认参数说明请参考DolphinScheduler任务参数附录默认任务参数一栏。\nSSH Data Source: 选择SSH 数据源。\n\n任务样例\n查看远程服务器(remote-server)的路径\n\n注意事项\n该任务连接服务器后,不会自动source bashrc等文件,所需的环境变量,可以通过以下方式导入\n\n在安全中心-环境管理中创建环境变量,然后通过任务定义中的环境选项引入\n在脚本中直接输入对应的环境变量\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/task/remoteshell",
+    "title": "RemoteShell",
+    "location": [
+      "功能介绍",
+      "任务类型",
+      "Remote Shell"
+    ]
+  },
+  {
+    "content": "内置参数\n基础内置参数\n\n\n\n变量名\n声明方式\n含义\n\n\n\n\nsystem.biz.date\n${system.biz.date}\n日常调度实例定时的定时时间前一天,格式为 yyyyMMdd\n\n\nsystem.biz.curdate\n${system.biz.curdate}\n日常调度实例定时的定时时间,格式为 yyyyMMdd\n\n\nsystem.datetime\n${system.datetime}\n日常调度实例定时的定时时间,格式为 yyyyMMddHHmmss\n\n\nsystem.task.execute.path\n${system.task.execute.path}\n当前任务执行的绝对路径\n\n\nsystem.task.instance.id\n${system.task.instance.id}\n当前任务实例的ID\n\n\nsystem.task.definition.name\n${system.task.definition.name}\n当前任务所属任务定义 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/parameter/built-in",
+    "title": "内置参数",
+    "location": [
+      "功能介绍",
+      "参数",
+      "内置参数"
+    ]
+  },
+  {
+    "content": "全局参数\n作用域\n全局参数在工作流定义页面配置。\n方向是 IN 的变量是针对整个工作流的所有任务节点都有效的参数。\n方向是 OUT 的变量作为该工作流的输出参数,传递到父工作流中对应 SubProcess 任务的下游任务。\n使用方式\n具体的使用方式可结合实际的生产情况而定,这里演示为使用 Shell 任务打印出前一天的日期。\n创建 Shell 任务\n创建一个 Shell 任务,并在脚本内容中输入 echo ${dt}。此时 dt 则为我们需要声明的全局参数。如下图所示:\n\n保存工作流,并设置全局参数\n全局参数配置方式如下:在工作流定义页面,点击“设置全局”右边的加号,填写对应的变量名称和对应的值,选择相应的参数值类型,保存即可。如下图所示:\n\n\n注:这里定义的 dt 参数可以被其它任一节点的局部参数引用。\n\n任务实例查看执行结果\n进入任�
 ��实例页面,可以通过查看日志,验证任务的执行结果,判断参数是否有效。\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/parameter/global",
+    "title": "全局参数",
+    "location": [
+      "功能介绍",
+      "参数",
+      "全局参数"
+    ]
+  },
+  {
+    "content": "本地参数\n作用域\n在任务定义页面配置的参数,默认作用域仅限该任务,如果配置了参数传递则可将该参数作用到下游任务中。\n使用方式\n本地参数配置方式如下:在任务定义页面,点击“自定义参数”右边的加号,填写对应的变量名称和对应的值,保存即可。\n\n如果要在单个任务中使用参数,请参阅通过自定义参数使用\n如果要在任务中使用配置参数并在下游任务中使用它们:\n\n如果你只是想要简单使用,且不使用自定义参数, 请参阅 通过 setValue 和自定义参数 export 本地参数\n如果想要使用自定义参数, 请参阅 通过 setValue 和自定义参数 export 本地参数\n如果想要使用 Bash 参数, 请参阅 通过 setValue 和 Bash 环境变量参数 export 本地参数\n\n\n\n任务样例\n通过自定义参数使用\n本样例展示了如何使用本地参数,打印输出当前日期。创建一�
 � Shell 任务,并编写脚本内容为 echo ${dt}。点击配置栏中的自定义参数,配置如下图所示:\n\n参数说明:\n\ndt:参数名\nIN:I [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/parameter/local",
+    "title": "本地参数",
+    "location": [
+      "功能介绍",
+      "参数",
+      "本地参数"
+    ]
+  },
+  {
+    "content": "项目级别参数\n作用域\n项目级别参数是针对整个项目下的所有任务节点都有效的参数。\n使用方式\n定义项目级别参数\n在项目管理页面,点击项目级别参数,点击创建项目级别参数,填写参数名称和参数值,选择相应的参数值类型。如下图所示:\n\n使用项目级别参数\n以shell任务为例,在脚本内容中输入echo ${param},其中param为上一步创建的项目级别参数。\n\n运行该shell任务,在任务实例页面,可以查看任务日志,验证参数是否有效。\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/parameter/project-parameter",
+    "title": "项目级别参数",
+    "location": [
+      "功能介绍",
+      "参数",
+      "项目级别参数"
+    ]
+  },
+  {
+    "content": "参数的引用\nDolphinScheduler 提供参数间相互引用的能力,包括:本地参数引用全局参数、上下游参数传递。因为有引用的存在,就涉及当参数名相同时,参数的优先级问题,详见参数优先级\n本地任务引用全局参数\n本地任务引用全局参数的前提是,你已经定义了全局参数,使用方式和本地参数中的使用方式类似,但是参数的值需要配置成全局参数中的 key。\n上游任务传递给下游任务\nDolphinScheduler 允许在任务间进行参数传递,目前传递方向仅支持上游单向传递给下游。目前支持这个特性的任务类型有:\n\nShell\nSQL\nProcedure\nPython\nSubWorkflow\nKubernetes\n\n当定义上游节点时,如果有需要将该节点的结果传递给有依赖关系的下游节点,需要在【当前节点设置】的【自定义参数】设置一个方向是 OUT 的变量。如果是 SubWorkflow 节点无需在【当前节点�
 ��置】中设置变量,需要在子流程的工作流定义中设置一个方向是 OUT 的变量。\n上游传递的参数可以在下游节点中被更新,更新方法与 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/parameter/context",
+    "title": "参数的引用",
+    "location": [
+      "功能介绍",
+      "参数",
+      "参数传递"
+    ]
+  },
+  {
+    "content": "参数优先级\nDolphinScheduler 中所涉及的参数值的定义可能来自三种类型:\n\n项目级别参数:在项目管理中定义的项目级别参数\n全局参数:在工作流保存页面定义时定义的变量\n启动参数:在工作流启动页面定义的变量\n上游任务传递的参数:上游任务传递过来的参数\n本地参数:节点的自有变量,用户在“自定义参数”定义的变量,并且用户可以在工作流定义时定义该部分变量的值\n\n因为参数的值存在多个来源,当参数名相同时,就需要会存在参数优先级的问题。DolphinScheduler 参数的优先级从高到低为:启动参数 &gt; 本地参数 &gt; 上游任务传递的参数 &gt; 全局参数 &gt; 项目级别参数\n在上游任务传递的参数中,由于上游可能存在多个任务向下游传递参数,当上游传递的参数名称相同时:\n\n下游节点会优先使用值为非空的参数\n如果存在
 多个值为非空的参数,则按照上游任务的完成时间排序,选择完成时间最晚的上游任务对应的参数\n\n例子\n下面例子向你展示如何使用任务参数传递的优先级问题\n1:先以 shell 节点解释第 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/parameter/priority",
+    "title": "参数优先级",
+    "location": [
+      "功能介绍",
+      "参数",
+      "参数优先级"
+    ]
+  },
+  {
+    "content": "文件参数\n通过配置文件参数,在同一工作流实例中,可以将上游任务工作目录下的文件(或文件夹,下统一以文件代替)传递给下游任务。 如以下场景可能使用到\n\n在ETL任务中,将多个上游任务处理好的数据文件一起传递给特定的下游任务。\n在机器学习场景中,将上游数据准备任务的数据集文件传递给下游模型训练任务。\n\n使用方式\n配置文件参数\n文件参数配置方式如下:在任务定义页面,点击“自定义参数”右边的加号,即可进行配置。\n输出文件给下游任务\n自定义参数四个选项分别为:\n\n参数名:任务间传递时使用的标识,如下图中使用的KEY1和KEY2\n方向:OUT, 则表示输出文件给下游任务\n参数类型:FILE, 表示文件参数\n参数值:输出的文件路径,如下图中的data和data/test2/text.txt\n\n下图的配置表示任务output向下游任务传递两个文�
 ��数据,分别为:\n\n传出文件夹 data, 并标记为dir-data, 下游任务可以通过output.dir-data获取该文件夹\n传出文件 data/test2/text. [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/parameter/file-parameter",
+    "title": "文件参数",
+    "location": [
+      "功能介绍",
+      "参数",
+      "文件参数传递"
+    ]
+  },
+  {
+    "content": "启动参数\n作用域\n启动参数是针对整个工作流的所有任务节点都有效的参数,在工作流启动页面配置。\n使用方式\n启动参数配置方式如下:在启动前参数设置界面,点击“启动参数“下面的加号,填写对应的参数名称和对应的值,选择相应的参数值类型,点击确定,工作流会将启动参数加入全局参数中。\n任务样例\n本样例展示了如何使用启动参数,打印输出不同天的日期。\n创建 Shell 任务\n创建一个 Shell 任务,并在脚本内容中输入 echo ${dt}。此时 dt 则为我们需要声明的启动参数。如下图所示:\n\n保存工作流,上线运行并设置启动参数\n启动参数配置如下图所示:\n\n\n注:这里定义的 dt 参数可以被其它任一节点的局部参数引用。\n\n任务实例查看执行结果\n进入任务实例页面,可以通过查看日志,验证任务的执行结果,判断参数是否�
 �效。\n\n修改启动参数,再次执行\n\n任务实例查看执行结果\n验证任务执行结果,判断Shell任务是否输出了不同日期。\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/parameter/startup-parameter",
+    "title": "启动参数",
+    "location": [
+      "功能介绍",
+      "参数",
+      "启动参数"
+    ]
+  },
+  {
+    "content": "MySQL 数据源\n\n\n数据源:选择 MYSQL\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP 主机名:输入连接 MySQL 的 IP\n端口:输入连接 MySQL 的端口\n用户名:设置连接 MySQL 的用户名\n密码:设置连接 MySQL 的密码\n数据库名:输入连接 MySQL 的数据库名称\nJdbc 连接参数:用于 MySQL 连接的参数设置,以 JSON 形式填写\n\n是否原生支持\n\n否,使用前需请参考 pseudo-cluster 中的 &quot;下载插件依赖&quot; 章节激活数据源。\n驱动下载链接,mysql-connector-j-8.0.33\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/mysql",
+    "title": "MySQL 数据源",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "MySQL"
+    ]
+  },
+  {
+    "content": "POSTGRESQL 数据源\n\n\n数据源:选择 POSTGRESQL\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP 主机名:输入连接 POSTGRESQL 的 IP\n端口:输入连接 POSTGRESQL 的端口\n用户名:设置连接 POSTGRESQL 的用户名\n密码:设置连接 POSTGRESQL 的密码\n数据库名:输入连接 POSTGRESQL 的数据库名称\nJdbc 连接参数:用于 POSTGRESQL 连接的参数设置,以 JSON 形式填写\n\n是否原生支持\n\n否,使用前需请参考 pseudo-cluster 中的 &quot;下载插件依赖&quot; 章节激活数据源。\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/postgresql",
+    "title": "POSTGRESQL 数据源",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "PostgreSQL"
+    ]
+  },
+  {
+    "content": "HIVE数据源\n使用HiveServer2\n\n\n数据源:选择 HIVE\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP 主机名:输入连接 HIVE 的 IP\n端口:输入连接 HIVE 的端口\n用户名:设置连接 HIVE 的用户名\n密码:设置连接 HIVE 的密码\n数据库名:输入连接 HIVE 的数据库名称\nJdbc 连接参数:用于 HIVE 连接的参数设置,以 JSON 形式填写\n\n\n注意:如果您希望在同一个会话中执行多个 HIVE SQL,您可以修改配置文件 common.properties 中的配置,设置 support.hive.oneSession = true。\n这对运行 HIVE SQL 前设置环境变量的场景会很有帮助。参数 support.hive.oneSession 默认值为 false,多条 SQL 将在不同的会话中运行。\n\n使用 HiveServer2 HA Zookeeper\n\n注意:如果没有开启 kerberos,请保证参数 hadoop.security.a [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/hive",
+    "title": "HIVE数据源",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "HIVE"
+    ]
+  },
+  {
+    "content": "SNOWFLAKE 数据源\n\n数据源参数\n\n数据源:选择 SNOWFLAKE 数据源\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP 主机名:输入连接 SNOWFLAKE 数据源 的 IP\n端口:输入连接 SNOWFLAKE 数据源 的端口\n用户名:设置连接 SNOWFLAKE 数据源 的用户名\n密码:设置连接 SNOWFLAKE 数据源 的密码\n数据库名:输入连接 SNOWFLAKE 数据源 的数据库名称\n数据仓库: 输入数据 SNOWFLAKE 的数据仓库名称\nJdbc 连接参数:用于 SNOWFLAKE 数据源 连接的参数设置,以 JSON 形式填写\n\n是否原生支持\n\n否,使用前需请参考 pseudo-cluster 中的 &quot;下载插件依赖&quot; 章节激活数据源。\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/snowflake",
+    "title": "SNOWFLAKE 数据源",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "SNOWFLAKE"
+    ]
+  },
+  {
+    "content": "KYUUBI数据源\n使用HiveServer2\n\n\n数据源:选择 KYUUBI\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP 主机名:输入连接 KYUUBI 的 IP\n端口:输入连接 KYUUBI 的端口\n用户名:设置连接 KYUUBI 的用户名\n密码:设置连接 KYUUBI 的密码\n数据库名:输入连接 KYUUBI 的数据库名称\nJdbc 连接参数:用于 KYUUBI 连接的参数设置,以 JSON 形式填写\n\n如需Kerberos验证,请直接配置相应参数在jdbc连接参数中\n\nclientKeytab: 用户客户端验证的keytab文件路径\n\nclientPrincipal: 用户客户端验证的Kerberos principal\n\nserverPrincipal: 在服务端通过kyuubi.kinit.principal配置的Kerberos principal.\n\n是否原生支持\n\n否,使用前需请参考 pseudo-cluster 中的 &quot;下载插件依赖&quot;  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/kyuubi",
+    "title": "KYUUBI数据源",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "KYUUBI"
+    ]
+  },
+  {
+    "content": "Spark数据源\n\n\n数据源:选择 Spark\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP/主机名:输入连接Spark的IP\n端口:输入连接Spark的端口\n用户名:设置连接Spark的用户名\n密码:设置连接Spark的密码\n数据库名:输入连接Spark的数据库名称\nJdbc连接参数:用于Spark连接的参数设置,以JSON形式填写\n\n注意:如果开启了kerberos,则需要填写 Principal\n\n    \n  \n是否原生支持\n\n否,使用前需请参考 pseudo-cluster 中的 &quot;下载插件依赖&quot; 章节激活数据源。\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/spark",
+    "title": "Spark数据源",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "Spark"
+    ]
+  },
+  {
+    "content": "AWS Athena 数据源\n\n\n数据源:选择 ATHENA\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\n用户名:设置连接 AWS 的 access key\n密码:设置连接 AWS 的 secret access key\nAwsRegion: 设置连接 AWS 的区域\n数据库名:输入连接 ATHENA 的数据库名称\nJdbc 连接参数:用于 ATHENA 连接的参数设置,以 JSON 形式填写\n\n是否原生支持\n\n否,使用前需请参考 pseudo-cluster 中的 &quot;下载插件依赖&quot; 章节激活数据源。\nJDBC驱动配置参考文档 athena-connect-with-jdbc\n驱动下载链接 SimbaAthenaJDBC-2.0.31.1000/AthenaJDBC42.jar\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/athena",
+    "title": "AWS Athena 数据源",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "Amazon Athena"
+    ]
+  },
+  {
+    "content": "AZURE SQL 数据源\n模式\nSqlPassword\n\n使用数据库服务器的用户名和密码验证。\n\n数据源:选择 AZURE SQL\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP 主机名:输入连接 AZURE SQL 的 HOST 或 IP ,例如:xxx.database.windows.net\n端口:输入连接 AZURE SQL 的端口,默认1433\n验证模式:输入 AZURE SQL 的连接模式,目前支持:SqlPassword,ActiveDirectoryPassword,ActiveDirectoryMSI,ActiveDirectoryServicePrincipal,accessToken.\n用户名:设置连接 AZURE SQL 的用户名\n密码:设置连接 AZURE SQL 的密码\n数据库名:输入连接 AZURE SQL 的数据库名称\nJdbc 连接参数:用于 AZURE SQL 连接的参数设置,以 JSON 形式填写\n以下仅对差异化属性进行说明。\n\nActiveDirec [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/azure-sql",
+    "title": "AZURE SQL 数据源",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "Azure SQL Database"
+    ]
+  },
+  {
+    "content": "Amazon Redshift\n数据源参数\n使用数据库服务器的用户名和密码验证。\n\n数据源:选择 AZURE Redshift\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP 主机名:输入连接 Redshift 的 HOST 或 IP ,例如:cluster-name.xxx.region.redshift.amazonaws.com.cn\n端口:输入连接 Redshift 的端口,默认5439\n验证模式:输入 Redshift 的连接模式,目前支持:Password,IAM-accessKey\n用户名:设置连接 Redshift 的用户名\n密码:设置连接 Redshift 的密码\n数据库名:输入连接 Redshift 的数据库名称\nJdbc 连接参数:用于 Redshift 连接的参数设置,以 JSON 形式填写\nAccessKeyID:IAM-accessKey模式下的access key ID\nSecretAccessKey:IAM-accessKey模式下的secret access ke [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/redshift",
+    "title": "Amazon Redshift",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "Redshift"
+    ]
+  },
+  {
+    "content": "Oracle数据源\n\n\n数据源:选择 ORACLE\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP 主机名:输入连接 ORACLE 的 IP\n端口:输入连接 ORACLE 的端口\n用户名:设置连接 ORACLE 的用户名\n密码:设置连接 ORACLE 的密码\n数据库名:输入连接 ORACLE 的 ServiceName 或 SID\nJdbc 连接参数:用于 ORACLE 连接的参数设置,以 JSON 形式填写\n\n比如 {&quot;schema&quot;: &quot;abc&quot;} 指定使用 username 用户下的 abc 数据库\n\n\n\n是否原生支持\n\n否,使用前需请参考 pseudo-cluster 中的 &quot;下载插件依赖&quot; 章节激活数据源。\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/oracle",
+    "title": "Oracle数据源",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "Oracle"
+    ]
+  },
+  {
+    "content": "Trino数据源\n\n\n数据源:选择 TRINO\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP 主机名:输入连接 TRINO 的 IP\n端口:输入连接 TRINO 的端口\n用户名:设置连接 TRINO 的用户名\n密码:设置连接 TRINO 的密码\n数据库名:输入连接 TRINO 的数据库名称\nJdbc 连接参数:用于 TRINO 连接的参数设置,以 JSON 形式填写\n数据源定义: 定义数据源是否为测试数据源或上线数据源\n\n是否原生支持\n\n否,使用前需请参考 pseudo-cluster 中的 &quot;下载插件依赖&quot; 章节激活数据源。\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/trino",
+    "title": "Trino数据源",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "Trino"
+    ]
+  },
+  {
+    "content": "StarRocks数据源\n\n\n数据源:选择 STARROCKS\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP 主机名:输入连接 STARROCKS 的 IP\n端口:输入连接 STARROCKS 的端口\n用户名:设置连接 STARROCKS 的用户名\n密码:设置连接 STARROCKS 的密码\n数据库名:输入连接 STARROCKS 的数据库名称\nJdbc 连接参数:用于 STARROCKS 连接的参数设置,以 JSON 形式填写\n\n是否原生支持\n\n否,使用前需请参考 pseudo-cluster 中的 &quot;下载插件依赖&quot; 章节激活数据源。\n驱动下载链接,mysql-connector-j-8.0.33\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/starrocks",
+    "title": "StarRocks数据源",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "StarRocks"
+    ]
+  },
+  {
+    "content": "DAMENG数据源\n\n\n数据源:选择 DAMENG\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP 主机名:输入连接 DAMENG 的 IP\n端口:输入连接 DAMENG 的端口\n用户名:设置连接 DAMENG 的用户名\n密码:设置连接 DAMENG 的密码\n数据库名:输入连接 DAMENG 的 schema\nJdbc 连接参数:用于 DAMENG 连接的参数设置,以 JSON 形式填写\n\n是否原生支持\n\n否,使用前需请参考 pseudo-cluster 中的 &quot;下载插件依赖&quot; 章节激活数据源。\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/dameng",
+    "title": "DAMENG数据源",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "DAMENG"
+    ]
+  },
+  {
+    "content": "OceanBase 数据源\n\n\n数据源:选择 OCEANBASE\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP 主机名:输入连接 OceanBase 的 IP\n端口:输入连接 OceanBase 的端口\n用户名:设置连接 OceanBase 的用户名\n密码:设置连接 OceanBase 的密码\n数据库名:输入连接 OceanBase 的数据库名称\n兼容模式:输入连接 OceanBase 的兼容模式\nJdbc 连接参数:用于 OceanBase 连接的参数设置,以 JSON 形式填写\n\n是否原生支持\n\n否,使用前需要先引入 OceanBase 的 JDBC 驱动 oceanbase-client,请参考 pseudo-cluster 中的 &quot;下载插件依赖&quot; 章节激活数据源。\nOceanBase 数据源的兼容模式可以是 'mysql' 或 'oracle',如果你只使用 mysql 模式,你也可以选择将 OceanBase 数据源当作 MySQL 数据源来使用,请参考 MyS [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/oceanbase",
+    "title": "OceanBase 数据源",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "OceanBase"
+    ]
+  },
+  {
+    "content": "SSH 数据源\n该数据源用于RemoteShell组件,用于远程执行命令。\n\n\n数据源:选择 SSH\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP 主机名:输入连接 SSH 的 IP\n端口:输入连接 SSH 的端口\n用户名:设置连接 SSH 的用户名\n密码:设置连接 SSH 的密码\n公钥:设置连接 SSH 的公钥\n\n是否原生支持\n\n否,使用前需请参考 pseudo-cluster 中的 &quot;下载插件依赖&quot; 章节激活数据源。\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/ssh",
+    "title": "SSH 数据源",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "SSH"
+    ]
+  },
+  {
+    "content": "Databend\n\n数据源参数\n\n\n\n数据源\n描述\n\n\n\n\n数据源\n选择 DATABEND。\n\n\n数据源名称\n输入数据源的名称。\n\n\n描述\n输入数据源的描述。\n\n\nIP/主机名\n输入 DATABEND 服务的 IP 地址。\n\n\n端口\n输入 DATABEND 服务的端口。\n\n\n用户名\n设置 DATABEND 连接的用户名。\n\n\n密码\n设置 DATABEND 连接的密码。\n\n\n数据库名称\n输入 DATABEND 连接的数据库名称。\n\n\njdbc 连接参数\nDATABEND 连接的参数设置,以 JSON 格式表示。\n\n\n\njdbc 连接参数可参考 databend-jdbc\n是否原生支持\n\n否,使用前需请参考 pseudo-cluster 中的 &quot;下载插件依赖&quot; 章节激活数据源。\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/databend",
+    "title": "Databend",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "Databend"
+    ]
+  },
+  {
+    "content": "HANA 数据源\n\n\n数据源:选择 HANA\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP 主机名:输入连接 HANA 的 IP\n端口:输入连接 HANA 的端口\n用户名:设置连接 HANA 的用户名\n密码:设置连接 HANA 的密码\n数据库名:输入连接 HANA 的数据库名称\nJdbc 连接参数:用于 HANA 连接的参数设置,以 JSON 形式填写\n\n是否原生支持\n\n否,使用前需请参考 pseudo-cluster 中的 &quot;下载插件依赖&quot; 章节激活数据源。\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/hana",
+    "title": "HANA 数据源",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "HANA"
+    ]
+  },
+  {
+    "content": "DORIS 数据源\n\n\n数据源:选择 DORIS\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP 主机名:输入连接 DORIS 的 IP(如有多个IP,请用,分隔)\n端口:输入连接 DORIS 的端口\n用户名:设置连接 DORIS 的用户名\n密码:设置连接 DORIS 的密码\n数据库名:输入连接 DORIS 的数据库名称\nJdbc 连接参数:用于 DORIS 连接的参数设置,以 JSON 形式填写\n\n是否原生支持\n\n否,使用前需请参考 pseudo-cluster 中的 &quot;下载插件依赖&quot; 章节激活数据源。\n驱动下载链接,mysql-connector-j-8.0.33\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/doris",
+    "title": "DORIS 数据源",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "Doris"
+    ]
+  },
+  {
+    "content": "VERTICA 数据源\n\n\n\n\n参数名称\n参数描述\n\n\n\n\n数据源\n选择 VERTICA\n\n\n数据源名称\n输入数据源的名称\n\n\n描述\n输入数据源的描述\n\n\nIP 主机名\n输入连接 VERTICA 的 IP\n\n\n端口\n输入连接 VERTICA 的端口\n\n\n用户名\n设置连接 VERTICA 的用户名\n\n\n密码\n设置连接 VERTICA 的密码\n\n\n数据库名\n输入连接 VERTICA 的数据库名称\n\n\nJDBC 连接参数\n用于 VERTICA 连接的参数设置,以 JSON 形式填写\n\n\n\n是否原生支持\n\n否,使用前需请参考 pseudo-cluster 中的 &quot;下载插件依赖&quot; 章节激活数据源。\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/vertica",
+    "title": "VERTICA 数据源",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "Vertica"
+    ]
+  },
+  {
+    "content": "DOLPHINDB 数据源\n\n\n数据源:选择 DOLPHINDB\n数据源名称:输入数据源的名称\n描述:输入数据源的描述\nIP 主机名:输入连接 DOLPHINDB 的 IP\n端口:输入连接 DOLPHINDB 的端口\n用户名:设置连接 DOLPHINDB 的用户名\n密码:设置连接 DOLPHINDB 的密码\nJDBC 连接参数:用于 DOLPHINDB 连接的参数设置,以 JSON 形式填写\n\n是否原生支持\n\n否,使用前需请参考 pseudo-cluster 中的 &quot;下载插件依赖&quot; 章节激活数据源。\nJDBC驱动配置参考文档 DolphinDB JDBC Connector\n驱动Maven依赖 com.dolphindb:jdbc:3.00.3.0\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/datasource/dolphindb",
+    "title": "DOLPHINDB 数据源",
+    "location": [
+      "功能介绍",
+      "数据源中心",
+      "DolphinDB"
+    ]
+  },
+  {
+    "content": "如何创建告警插件以及告警组\n在 2.0.0 版本中,用户需要创建告警实例,在创建告警实例时,需要选择告警策略,有三个选项,成功发、失败发,以及成功和失败都发。在执行完工作流或任务时,如果触发告警,调用告警实例发送方法会进行逻辑判断,将告警实例与任务状态进行匹配,匹配则执行该告警实例发送逻辑,不匹配则过滤。创建完告警实例后,需要同告警组进行关联,一个告警组可以使用多个告警实例。\n告警模块支持场景如下:\n\n使用步骤如下:\n首先需要进入到安全中心,选择告警组管理,然后点击左侧的告警实例管理,然后创建一个告警实例,然后选择对应的告警插件,填写相关告警参数。\n然后选择告警组管理,创建告警组,选择相应的告警实例即可。\n\n可以使用测试发送功能来验证配置的告警实例是否正确。\n\n
 \n\n\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/alert_plugin_user_guide",
+    "title": "如何创建告警插件以及告警组",
+    "location": [
+      "功能介绍",
+      "告警",
+      "告警组件向导"
+    ]
+  },
+  {
+    "content": "Email\n如果需要使用Email进行告警,请在告警实例管理中创建告警实例,并选择Email插件。\n下面显示了 Email 配置示例::\n\n\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/email",
+    "title": "Email",
+    "location": [
+      "功能介绍",
+      "告警",
+      "Email"
+    ]
+  },
+  {
+    "content": "Telegram\n如果您需要使用 Telegram 进行告警,请在告警实例管理模块创建告警实例,选择 Telegram 插件。\nTelegram 的配置样例如下:\n\n参数配置:\n\nWebHook:\n\n\n使用 Telegram 的机器人,发送消息的 WebHook。\n\nbotToken\n创建 Telegram 的机器人,获取的访问令牌。\nchatId\n订阅的 Telegram 频道\nparseMode\n消息解析类型, 支持: txt、markdown、markdownV2、html\nEnableProxy\n开启代理\nProxy\n代理地址\nPort\n代理端口\nUser\n代理鉴权用户\nPassword\n代理鉴权密码\n\n\n注意:用户配置的 WebHook 需要能够接收和使用与 DolphinScheduler 构造的 HTTP POST 请求 BODY 相同的结构,JSON 结构如下:\n{\n    &quot;text&quot;: &quot;[{\\&quot;projectId\ [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/telegram",
+    "title": "Telegram",
+    "location": [
+      "功能介绍",
+      "告警",
+      "Telegram"
+    ]
+  },
+  {
+    "content": "钉钉\n如果您需要使用到钉钉进行告警,请在告警实例管理里创建告警实例,选择 DingTalk 插件。钉钉的配置样例如下:\n\n参数配置\n\n\nWebhook\n\n格式如下:https://oapi.dingtalk.com/robot/send?access_token=XXXXXX\n\n\n\nKeyword\n\n安全设置的自定义关键词\n\n\n\nSecret\n\n安全设置的加签\n\n\n\n消息类型\n\n支持 text 和 markdown 两种类型\n\n\n\n自定义机器人发送消息时,可以通过手机号码指定“被@人列表”。在“被@人列表”里面的人员收到该消息时,会有@消息提醒。免打扰会话仍然通知提醒,首屏出现“有人@你”\n\n@Mobiles\n\n\n被@人的手机号\n\n@UserIds\n被@人的用户userid\n@All\n是否@所有人\n\n\n钉钉自定义机器人接入开发文档\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/dingtalk",
+    "title": "钉钉",
+    "location": [
+      "功能介绍",
+      "告警",
+      "钉钉告警"
+    ]
+  },
+  {
+    "content": "企业微信\n如果您需要使用到企业微信进行告警,请在告警实例管理里创建告警实例,选择 WeChat 插件。企业微信的配置样例如下:\n\n发送类型\n其中send.type分别对应向企业微信自定义应用发送和向企业微信API创建的群聊发送消息。\n应用\n应用指将告警结果通过企业微信的自定义应用进行通知,支持向特定用户发送消息和对所有人发送消息。目前还不支持部门和标签,欢迎提PR贡献代码。\n下图是应用告警配置的示例:\n\n下图是应用``MARKDOWN告警消息的示例:\n\n下图是应用``TEXT告警消息的示例:\n\n前置\n向企业微信应用发送消息之前需要在企业微信中创建自定义应用,请在应用页面 进行创建,获取应用的AgentId并将可见范围设为根。\n向指定用户发消息\n企业微信应用支持向特定用户发送消息和对所有人发送消息,分别为使用|分隔多个userId和�
 ��用@all向所有人发送信息。\n获取用户的userId请参考官方文档根据手机号获取userId。\n下图是获取userId接口的示例:\n\n参考文档\n应用:https://w [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/enterprise-wechat",
+    "title": "企业微信",
+    "location": [
+      "功能介绍",
+      "告警",
+      "企业微信"
+    ]
+  },
+  {
+    "content": "WebexTeams\n如果您需要使用到Webex Teams进行告警,请在告警实例管理里创建告警实例,选择 WebexTeams 插件。\n你可以选择机器人私聊通知或聊天室通知。\nWebexTeams的配置样例如下:\n\n参数配置\n\n\nbotAccessToken\n\n在创建机器人时,获得的访问令牌\n\n\n\nroomID\n\n接受消息的room ID(只支持一个ID)\n\n\n\ntoPersonId\n\n接受消息的用户ID(只支持一个ID)\n\n\n\ntoPersonEmail\n\n接受消息的用户邮箱(只支持一个邮箱)\n\n\n\natSomeoneInRoom\n\n如果消息目的地为room,被@人的用户邮箱,多个邮箱用英文逗号分隔\n\n\n\ndestination\n\n消息目的地,一条消息只支持一个目的地\n\n\n\n创建一个机器人\n访问官网My-Apps来创建一个机器人,点击Create a New APP 然后选择 Create a Bot,填入机器人信息后获取bot username [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/enterprise-webexteams",
+    "title": "WebexTeams",
+    "location": [
+      "功能介绍",
+      "告警",
+      "Webexteams"
+    ]
+  },
+  {
+    "content": "Script脚本\n如果您需要使用到Shell脚本进行告警,请在告警实例管理里创建告警实例,选择Script插件。Script的配置样例如下:\n\n参数配置\n\n\n自定义参数\n\n用户自定义的参数将被传入脚本执行\n\n\n\n脚本路径\n\n脚本在服务器上的文件位置,只支持.sh后缀的文件\n\n\n\n脚本类型\n\n支持Shell脚本\n\n\n\n注意:\n1.请注意脚本的读写权限与执行租户的关系\n2.脚本告警会执行对应shell脚本,平台不会校验脚本内容和是否被篡改,需要高度信任该shell脚本,并且信任用户不会滥用此功能\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/script",
+    "title": "Script脚本",
+    "location": [
+      "功能介绍",
+      "告警",
+      "脚本告警"
+    ]
+  },
+  {
+    "content": "HTTP告警\n如果您需要使用到Http(GET或POST)进行告警,请在告警实例管理里创建告警实例,选择Http插件。\n参数配置\n\n\n\n参数\n描述\n\n\n\n\nURL\n访问的Http连接URL,需要包含协议、Host、路径,如果是GET方法可以添加参数\n\n\n请求方式\n当前支持GET和POST以及PUT三种请求方式\n\n\n请求头(Headers)\nHttp请求的完整请求头,以JSON为格式(注意不包含Content-Type),非必填\n\n\n请求体(Body)\nHttp`请求的完整请求体,以JSON为格式,非必填\n\n\nContent-Type\n请求体的Content-Type,默认为application/json\n\n\n\n\n告警消息,支持变量$msg,可在URL,请求头,请求体中使用,非必填。\n\nGET Http告警\nGET Http告警指将告警结果作为参数通过Http GET方法进行请求。\n下图是GET告警配置的示例:\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/http",
+    "title": "HTTP告警",
+    "location": [
+      "功能介绍",
+      "告警",
+      "Http告警"
+    ]
+  },
+  {
+    "content": "飞书\n如果您需要使用到飞书进行告警,请在告警实例管理里创建告警实例,选择 Feishu 插件。飞书的配置样例如下:\n\n参数配置\n\n\nWebhook\n\n复制机器人的webhook地址,如下图所示:\n\n\n\n\n飞书:如何在群组中使用机器人?\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/feishu",
+    "title": "飞书",
+    "location": [
+      "功能介绍",
+      "告警",
+      "飞书告警"
+    ]
+  },
+  {
+    "content": "Slack\n如果您需要使用到Slack进行告警,请在告警实例管理里创建告警实例,选择 Slack 插件。Slack的配置样例如下:\n\n参数配置\n\n\nWebhook\n\n复制APP的Incoming Webhooks地址,如下图所示:\n\n\n\n\n用户名\n\n发送人的昵称(已过时),由于Slack更新原因目前会使用APP名称作为发件人\n\n\n\n如何获取Webhook地址\n请参考官网文章《Slack:如何通过Incoming Webhooks发送消息?》进行创建。\n新建一个Slack APP\n打开Slack官网新建一个APP。\n激活Incoming Webhooks设置\n新建APP后,在APP页面左侧,选择Feature栏目下的Incoming Webhooks,点击激活Activate Incoming Webhooks到ON。\n\n创建一个Incoming Webhook\n创建一个新的Incoming Webhook,并选择消息的发送分组。\n\n获取Incoming Webhooks地址\n复制 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/slack",
+    "title": "Slack",
+    "location": [
+      "功能介绍",
+      "告警",
+      "Slack告警"
+    ]
+  },
+  {
+    "content": "阿里云-语音告警\n如果您需要使用到语音(阿里云)进行告警,请在告警实例管理里创建告警实例,选择语音插件。\n参数配置\n\n\n被叫电话号码\n\n被叫显示号\n\n\n\n呼叫显示号码\n\n接收语音通知的号码\n\n\n\n语音模板\n\n语音通知文件的语音ID\n\n\n\naccessKeyId\n\n您的 AccessKey ID\n\n\n\naccessKeySecret\n\n您的 AccessKey Secret\n\n\n\n阿里云-语音告警示例\n向指定号码发送语音通知文件类型的语音通知。\n下图是告警配置的示例:\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/alert/aliyun-voice",
+    "title": "阿里云-语音告警",
+    "location": [
+      "功能介绍",
+      "告警",
+      "阿里云语音告警"
+    ]
+  },
+  {
+    "content": "资源中心简介\n资源中心通常用于上传文件和任务组管理。 对于 standalone 环境,可以选择本地文件目录作为上传文件夹(此操作不需要Hadoop部署)。当然,你也可以\n选择上传到 Hadoop 或者 MinIO 集群。 在这种情况下,您需要有 Hadoop(2.6+)或 MinIO 等相关环境。\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/resource/intro",
+    "title": "资源中心简介",
+    "location": [
+      "功能介绍",
+      "资源中心",
+      "简介"
+    ]
+  },
+  {
+    "content": "资源中心配置详情\n\n资源中心通常用于上传文件以及任务组管理等操作。\n资源中心可以对接分布式的文件存储系统,如Hadoop(2.6+)或者MinIO集群,也可以对接远端的对象存储,如AWS S3或者阿里云 OSS,华为云 OBS,腾讯云 COS 等。\n资源中心也可以直接对接本地文件系统。在单机模式下,您无需依赖Hadoop或S3一类的外部存储系统,可以方便地对接本地文件系统进行体验。\n除此之外,对于集群模式下的部署,您可以通过使用S3FS-FUSE将S3挂载到本地,或者使用JINDO-FUSE将OSS挂载到本地等,再用资源中心对接本地文件系统方式来操作远端对象存储中的文件。\n\n对接本地文件系统\n配置 common.properties 文件\nDolphinscheduler 资源中心使用本地系统默认是开启的,不需要用户做任何额外的配置,但是当用户需要对默认配置做修改时,请确保同时完成下面
 的修改。\n\n如果您以 集群 模式或者 伪集群 模式部署DolphinScheduler,您需要对以下路径的文件进行配置:api-ser [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/resource/configuration",
+    "title": "资源中心配置详情",
+    "location": [
+      "功能介绍",
+      "资源中心",
+      "配置详情"
+    ]
+  },
+  {
+    "content": "文件管理\n当在调度过程中需要使用到第三方的 jar 或者用户需要自定义脚本的情况,可以通过在该页面完成相关操作。可创建的文件类型包括:txt/log/sh/conf/py/java 等。并且可以对文件进行编辑、重命名、下载和删除等操作。\n\n注意:\n\n当您以admin身份登入并操作文件时,需要先给admin设置租户\n\n\n基础操作\n\n创建文件\n文件格式支持以下几种类型:txt、log、sh、conf、cfg、py、java、sql、xml、hql、properties\n\n上传文件\n上传文件:点击&quot;上传文件&quot;按钮进行上传,将文件拖拽到上传区域,文件名会自动以上传的文件名称补全\n\n文件查看\n对可查看的文件类型,点击文件名称,可查看文件详情\n\n下载文件\n点击文件列表的&quot;下载&quot;按钮下载文件或者在文件详情中点击右上角&quot;下载&quot;按钮下载文件\n文件重命名\n\n删除文件\n文件�
 �表-&gt;点击&quot;删除&quot;按钮,删除指定文件\n任务样例\n该 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/resource/file-manage",
+    "title": "文件管理",
+    "location": [
+      "功能介绍",
+      "资源中心",
+      "文件管理"
+    ]
+  },
+  {
+    "content": "任务组管理\n任务组主要用于控制任务实例并发,旨在控制其他资源的压力(也可以控制 Hadoop 集群压力,不过集群会有队列管控)。您可在新建任务定义时,可配置对应的任务组,并配置任务在任务组内运行的优先级。用户仅能查看有权限的项目对应的任务组,且仅能创建或修改具有写权限的项目对应的任务组。\n\n注意:任务组的对资源的限制是在项目级别的,和租户没有关系\n\n任务组配置\n新建任务组\n\n用户点击【资源中心】-【任务组管理】-【任务组配置】-新建任务组\n\n您需要输入图片中信息,其中\n【任务组名称】:任务组在被使用时显示的名称\n【项目名称】:任务组作用的项目,该项为非必选项,如果不选择,则整个系统所有项目均可使用该任务组。\n【资源容量】:允许任务实例并发的最大数量\n查看任务组队列\n\n点�
 �按钮查看任务组使用信息\n\n任务组的使用\n注:任务组的使用适用于由 worker 执行的任务,例如【switch】节点、【condition】节点、【sub_workflow】等由 master 负责执行的节点类型不受任务组控制。\n我 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/resource/task-group",
+    "title": "任务组管理",
+    "location": [
+      "功能介绍",
+      "资源中心",
+      "任务组管理"
+    ]
+  },
+  {
+    "content": "监控中心\n服务管理\n\n服务管理主要是对系统中的各个服务的健康状况和基本信息的监控和显示\n\nMaster\n\n主要是 master 的相关信息。\n\n\nWorker\n\n主要是 worker 的相关信息。\n\n\nAlert Server\n\n主要是 alert server 的相关信息。\n\n\nDatabase\n\n主要是 DB 的健康状况\n\n\n统计管理\nStatistics\n\n展示系统中的命令列表,数据来自t_ds_command表。\n\n展示系统中的失败命令列表,数据来自t_ds_error_command表。\n审计日志\n审计日志的记录提供了有关谁访问了系统,以及他或她在给定时间段内执行了哪些操作的信息,对于维护安全都很有用。\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/monitor",
+    "title": "监控中心",
+    "location": [
+      "功能介绍",
+      "监控中心"
+    ]
+  },
+  {
+    "content": "安全中心(权限系统)\n\n安全中心只有管理员账户才有权限操作,分别有队列管理、租户管理、用户管理、告警组管理、worker分组管理、令牌管理等功能,在用户管理模块可以对资源、数据源、项目等授权\n管理员登录,默认用户名/密码:admin/dolphinscheduler123\n\n创建队列\n\n队列是在执行 spark、mapreduce 等程序,需要用到“队列”参数时使用的。\n管理员进入安全中心 -&gt; 队列管理页面,点击“创建队列”按钮,创建队列。\n\n\n注意:目前仅有 admin 用户可以修改队列。\n\n\n添加租户\n\n租户对应的是 Linux 的用户,用于 worker 提交作业所使用的用户。如果 linux 没有这个用户,则会导致任务运行失败。你可以通过修改 worker.properties 配置文件中参数 worker.tenant.auto.create=true 实现当 linux 用户不存在时自动创建该用户。worker.tenant.auto.create=true 参�
 �会要求 worker 可 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/security/security",
+    "title": "安全中心(权限系统)",
+    "location": [
+      "功能介绍",
+      "安全中心",
+      "安全中心(权限系统)"
+    ]
+  },
+  {
+    "content": "认证方式\n\n目前我们支持四种认证方式,Apache DolphinScheduler自身账号密码登录,LDAP, 通过Casdoor实现的SSO登录和通过Oauth2授权登录,并且oauth2授权登录方式可以和其他认证方式同时使用。\n\n修改认证方式\n\ndolphinscheduler-api/src/main/resources/application.yaml\n\nsecurity:\n  authentication:\n    # Authentication types (supported types: PASSWORD,LDAP,CASDOOR_SSO)\n    type: PASSWORD\n    # IF you set type `LDAP`, below config will be effective\n    ldap:\n      # ldap server config\n      url: ldap://ldap.forumsys.com:389/\n      base-dn: dc= [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/security/authentication-type",
+    "title": "认证方式",
+    "location": [
+      "功能介绍",
+      "安全中心",
+      "认证方式"
+    ]
+  },
+  {
+    "content": "指标(Metrics)使用指南\nApache DolphinScheduler通过向外透出指标来提高系统的监控告警能力。 我们使用Micrometer作为指标采集和透出框架。\n目前,我们只支持Prometheus Exporter,但是多样化的Exporter将会持续贡献给用户。\n快速上手\n\n我们提供Apache DolphinScheduler standalone 模式下采集并透出指标的能力,提供用户轻松快速的体验。\n当您在standalone模式下触发任务后,您可通过链接 http://localhost:12345/dolphinscheduler/actuator/metrics 访问生成的metrics列表。\n当您在standalone模式下触发任务后,您可通过链接 http://localhost:12345/dolphinscheduler/actuator/prometheus 访问prometheus格式指标。\n为了给您提供一个一站式的Prometheus + Grafana体验, 我们已经为您准备好了 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/metrics/metrics",
+    "title": "指标(Metrics)使用指南",
+    "location": [
+      "功能介绍",
+      "指标相关",
+      "指标"
+    ]
+  },
+  {
+    "content": "远程日志存储(Remote Logging)\nApache DolphinScheduler支持将任务日志传输到远端存储上。当配置开启远程日志存储后,DolphinScheduler将在任务结束后,将对应的任务日志异步地发送到指定的远端存储上。此外,用户在查看或下载任务日志时,若本地没有该日志文件,DolphinScheduler将从远端存储上下载对应的日志文件到本地文件系统。\n开启远程日志存储\n如果您以 集群 模式或者 伪集群 模式部署DolphinScheduler,您需要对以下路径的文件进行配置:api-server/conf/common.properties,master-server/conf/common.properties和 worker-server/conf/common.properties;\n若您以 单机 模式部署DolphinScheduler,您只需要配置 standalone-server/conf/common.properties,具体配置如下:\n# 是否开启远程日志存储\nremote.lo [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/remote-logging",
+    "title": "远程日志存储(Remote Logging)",
+    "location": [
+      "功能介绍",
+      "远程日志存储"
+    ]
+  },
+  {
+    "content": "不向前兼容的更新\n本文档记录了各版本之间不兼容的更新内容。在升级到相关版本前,请检查本文档。\ndev\n\n将mysql驱动版本从8.0.16升级至8.0.33 (#14684)\n更改了环境变量名称,将 PYTHON_HOME 改为 PYTHON_LAUNCHER, 将 DATAX_HOME 改为 DATAX_LAUNCHER (#14523)\n更新了SQL任务中用于匹配变量的正则表达式 (#13378)\nRemove the spark version of spark task (#11860).\nChange the default unix shell executor from sh to bash (#12180).\nRemove deleteSource in download() of StorageOperate (#14084)\n\n3.2.0\n\n资源中心相关接口删除请求参数 description (#14394)\n\n3.0.0\n\nCopy and import workflow with [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/upgrade/incompatible",
+    "title": "不向前兼容的更新",
+    "location": [
+      "功能介绍",
+      "升级",
+      "不向前兼容的更新"
+    ]
+  },
+  {
+    "content": "DolphinScheduler 升级\n准备工作\n检查不向前兼容的更改\n在升级之前,您应该检查 incompatible change,因为一些不兼容的更改可能会破坏您当前的功能。\n备份上一版本文件和数据库\n为了防止操作错误导致数据丢失,建议升级之前备份数据,备份方法请结合你数据库的情况来定\n下载新版本的安装包\n在下载页面下载最新版本的二进制安装包,并将二进制包放到与当前 dolphinscheduler 服务不一样的路径中,以下升级操作都需要在新版本的目录进行。\n升级步骤\n停止 dolphinscheduler 所有服务\n根据你部署方式停止 dolphinscheduler 的所有服务。\n数据库升级\n设置相关环境变量({user}和{password}改成你数据库的用户名和密码),然后运行升级脚本。\n下面以 MySQL 为例,别的数据库仅需要修改成对应的配置即可。请先手动下载 mysql-connector-java 驱动 jar\njar �
 � 并添加到 ./tools/libs 目录下,设置以下环境变量\n  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/upgrade/upgrade",
+    "title": "DolphinScheduler 升级",
+    "location": [
+      "功能介绍",
+      "升级",
+      "升级步骤"
+    ]
+  },
+  {
+    "content": "DolphinScheduler扩容/缩容 文档\n1. DolphinScheduler扩容文档\n本文扩容是针对现有的DolphinScheduler集群添加新的master或者worker节点的操作说明.\n注意: 一台物理机上不能存在多个master服务进程或者worker服务进程.\n      如果扩容master或者worker节点所在的物理机已经安装了调度的服务,请直接跳到 [1.4.修改配置]. 编辑 ** 所有 ** 节点上的配置文件 `bin/env/install_env.sh`. 新增masters或者workers参数,重启调度集群即可.\n\n1.1. 基础软件安装(必装项请自行安装)\n\n[必装] JDK (1.8+) :  必装,请安装好后在/etc/profile下配置 JAVA_HOME 及 PATH 变量\n[可选] 如果扩容的是worker类型的节点,需要考虑是否要安装外部客户端,比如Hadoop、Hive、Spark 的Client.\n\n注意:DolphinScheduler本身不依赖Ha [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/expansion-reduction",
+    "title": "DolphinScheduler扩容/缩容 文档",
+    "location": [
+      "功能介绍",
+      "扩/缩容"
+    ]
+  },
+  {
+    "content": "DolphinScheduler 初始化工作流 demo\n准备工作\n备份上一版本文件和数据库\n为了防止操作错误导致数据丢失,建议初始化工作流 demo 服务之前备份数据,备份方法请结合你数据库的情况来定\n下载新版本的安装包\n在下载页面下载最新版本的二进制安装包,并将二进制包放到与当前 dolphinscheduler 服务不一样的路径中,以下服务启动操作都需要在新版本的目录进行。\n服务启动步骤\n开启 dolphinscheduler 服务\n根据你部署方式开启 dolphinscheduler 的所有服务,如果你是通过 集群部署 来部署你的 dolphinscheduler 的话,可以通过 sh ./script/start-all.sh 开启全部服务。\n数据库配置\n初始化工作流 demo 服务需要使用 MySQL 或 PostgreSQL 等其他数据库作为其元数据存储数据,因此必须更改一些配置。\n请参考数据源配置 Standalone 切换元数据库创建并初始化数据库 ,�
 ��后运行 demo 服务启动脚本。\n租户配置\ [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/demo",
+    "title": "DolphinScheduler 初始化工作流 demo",
+    "location": [
+      "功能介绍",
+      "Demo"
+    ]
+  },
+  {
+    "content": "Standalone 极速体验版\nStandalone 仅适用于 DolphinScheduler 的快速体验.\n如果你是新手,想要体验 DolphinScheduler 的功能,推荐使用 Standalone 方式体检。如果你想体验更完整的功能,或者更大的任务量,推荐使用伪集群部署。如果你是在生产中使用,推荐使用集群部署或者kubernetes\n\n注意: Standalone 仅建议 20 个以下工作流使用,因为其采用内存式的 H2 Database, Zookeeper Testing Server,任务过多可能导致不稳定,并且如果重启或者停止 standalone-server 会导致内存中数据库里的数据清空。\nStandalone 支持元数据持久化,但是需要使用外部数据库,如 mysql 或者 postgresql,请看配置数据库\n\n前置准备工作\n\nJDK:下载JDK (1.8 or 11),安装并配置 JAVA_HOME 环境变量,并将其下的 bin 目录追加到 PATH 环境变量中。如果你的环境中已存在,可以 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/installation/standalone",
+    "title": "Standalone 极速体验版",
+    "location": [
+      "部署指南",
+      "单机部署(Standalone)"
+    ]
+  },
+  {
+    "content": "伪集群部署\n伪集群部署目的是在单台机器部署 DolphinScheduler 服务,该模式下 master、worker、api server 都在同一台机器上\n如果你是新手,想要体验 DolphinScheduler 的功能,推荐使用Standalone方式体检。如果你想体验更完整的功能,或者更大的任务量,推荐使用伪集群部署。如果你是在生产中使用,推荐使用集群部署或者kubernetes\n前置准备工作\n伪分布式部署 DolphinScheduler 需要有外部软件的支持\n\nJDK:下载JDK (1.8 或者 11),安装并配置 JAVA_HOME 环境变量,并将其下的 bin 目录追加到 PATH 环境变量中。如果你的环境中已存在,可以跳过这步。\n二进制包:在下载页面下载 DolphinScheduler 二进制包\n数据库:PostgreSQL (8.2.15+) 或者 MySQL (5.7+),两者任选其一即可,如 MySQL 则需要 JDBC Driver 8.0.33\n注册中心:当前支持 ZooKeeper (3 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/installation/pseudo-cluster",
+    "title": "伪集群部署",
+    "location": [
+      "部署指南",
+      "伪集群部署(Pseudo-Cluster)"
+    ]
+  },
+  {
+    "content": "集群部署(Cluster)\n集群部署目的是在多台机器部署 DolphinScheduler 服务,用于运行大量任务情况。\n如果你是新手,想要体验 DolphinScheduler 的功能,推荐使用Standalone方式体检。如果你想体验更完整的功能,或者更大的任务量,推荐使用伪集群部署。如果你是在生产中使用,推荐使用集群部署或者kubernetes\n部署步骤\n集群部署(Cluster)使用的脚本和配置文件与伪集群部署中的配置一样,所以所需要的步骤也与伪集群部署大致一样。区别就是伪集群部署针对的是一台机器,而集群部署(Cluster)需要针对多台机器,且两者“修改相关配置”步骤区别较大\n前置准备工作 &amp;&amp; 准备 DolphinScheduler 启动环境\n需要将安装包分发至每台集群的每台服务器上,并且需要在每台机器中进行配置执行伪集群部署中的所有执行项\n\n注意: 请确保每台机器的配置文�
 ��都是一致的,否则会导致集群无法正常工作\n注意: 每个服务都是无状态且互相独立的,所以可以在每台机器上部署多个服务,但是需 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/installation/cluster",
+    "title": "集群部署(Cluster)",
+    "location": [
+      "部署指南",
+      "集群部署(Cluster)"
+    ]
+  },
+  {
+    "content": "快速试用 Kubernetes 部署\nKubernetes 部署目的是在 Kubernetes 集群中部署 DolphinScheduler 服务,能调度大量任务,可用于在生产中部署。\n如果你是新手,想要体验 DolphinScheduler 的功能,推荐使用Standalone方式体检。如果你想体验更完整的功能,或者更大的任务量,推荐使用伪集群部署。如果你是在生产中使用,推荐使用集群部署或者kubernetes\n\n提示: 您也可以尝试使用DolphinScheduler K8S Operator,目前处于 alpha1 阶段\n\n先决条件\n\nHelm 3.1.0+\nKubernetes 1.12+\nPV 供应(需要基础设施支持)\n\n安装 dolphinscheduler\n# 自行选择对应的版本\nhelm upgrade --install dolphinscheduler --create-namespace --namespace dolphinscheduler oci://registry-1.docke [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/installation/kubernetes",
+    "title": "快速试用 Kubernetes 部署",
+    "location": [
+      "部署指南",
+      "Kubernetes部署(Kubernetes)"
+    ]
+  },
+  {
+    "content": "通用配置\n语言\nDolphinScheduler 支持两种内置语言,包括 English 和 Chinese 。您可以点击顶部控制栏名为 English 或 Chinese 的按钮切换语言。\n当您将语言从一种切换为另一种时,您所有 DolphinScheduler 的页面语言页面将发生变化。\n主题\nDolphinScheduler 支持两种类型的内置主题,包括 Dark 和 Light。当您想改变主题时,只需单击顶部控制栏在 语言 左侧名为 Dark(or Light)\n的按钮即可。\n时区\nDolphinScheduler 支持时区设置。\n服务时区\n使用脚本 bin/dolphinshceduler_daemon.sh启动服务, 服务的默认时区为UTC, 可以在 application.yaml 文件中进行修改,或通过环境变量修改, 如export SPRING_JACKSON_TIME_ZONE=${SPRING_JACKSON_TIME_ZONE:-Asia/Shanghai}。\nIDEA 启动服务默认时区为本地 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/installation/general-setting",
+    "title": "通用配置",
+    "location": [
+      "部署指南",
+      "通用设置"
+    ]
+  },
+  {
+    "content": "数据源配置\nStandalone 切换元数据库\n我们这里以 MySQL 为例来说明如何配置外部数据库:\n\n如果使用 MySQL 需要手动下载 mysql-connector-java 驱动 (8.0.16) 并移动到 DolphinScheduler 的每个模块的 libs 目录下,其中包括 api-server/libs 和 alert-server/libs 和 master-server/libs 和 worker-server/libs。\n\n\n首先,参照 伪分布式/分布式安装初始化数据库 创建并初始化数据库\n在你的命令行设定下列环境变量,将 {address}, {user} 和 {password} 改为你数据库的地址, 用户名和密码\n\nexport DATABASE=mysql\nexport SPRING_PROFILES_ACTIVE=${DATABASE}\nexport SPRING_DATASOURCE_URL=&quot;jdbc:mysql://{address}/dolphinschedul [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/installation/datasource-setting",
+    "title": "数据源配置",
+    "location": [
+      "部署指南",
+      "数据源设置"
+    ]
+  },
+  {
+    "content": "基于 Rainbond 部署 DolphinScheduler 高可用集群\n本文描述通过 Rainbond 云原生应用管理平台 一键部署高可用的 DolphinScheduler 集群,这种方式适合给不太了解 Kubernetes、容器化等复杂技术的用户使用,降低了在 Kubernetes 中部署 DolphinScheduler 的门槛。\n前提条件\n\n可用的 Rainbond 云原生应用管理平台,请参阅文档 Rainbond 快速安装\n\nDolphinScheduler 集群一键部署\n\n进入 Rainbond 的平台管理 -&gt; 应用市场 -&gt; 开源应用商店中搜索 dolphinscheduler 即可找到 DolphinScheduler 应用。\n\n\n\n点击 DolphinScheduler 右侧的安装进入应用安装页面,填写对应的信息,点击确定即可开始安装,自动跳转至应用视图。\n\n\n\n\n选择项\n说明\n\n\n\n\n团队名称\n用户自建的工作空间,以命名空间隔离\n\n\n集群名称\n选 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/integration/rainbond",
+    "title": "基于 Rainbond 部署 DolphinScheduler 高可用集群",
+    "location": [
+      "部署指南",
+      "集成",
+      "基于Rainbond部署(Cluster)"
+    ]
+  },
+  {
+    "content": "DolphinScheduler 元数据文档\n表Schema\n详见dolphinscheduler/dolphinscheduler-dao/src/main/resources/sql目录下的sql文件\nE-R图\n用户\t队列\t数据源\n\n\n一个租户下可以有多个用户;\nt_ds_user中的queue字段存储的是队列表中的queue_name信息,t_ds_tenant下存的是queue_id,在流程定义执行过程中,用户队列优先级最高,用户队列为空则采用租户队列;\nt_ds_datasource表中的user_id字段表示创建该数据源的用户,t_ds_relation_datasource_user中的user_id表示对数据源有权限的用户;\n\n项目\t资源\t告警\n\n\n一个用户可以有多个项目,用户项目授权通过t_ds_relation_project_user表完成project_id和user_id的关系绑定;\nt_ds_projcet表中的user_id表示创建该项目的用户,t_ds_relation [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/architecture/metadata",
+    "title": "DolphinScheduler 元数据文档",
+    "location": [
+      "架构设计",
+      "元数据文档"
+    ]
+  },
+  {
+    "content": "系统架构设计\n系统架构\n系统架构图\n\n  \n  \n        系统架构图\n  \n\n启动流程活动图\n\n  \n  \n        启动流程活动图\n  \n\n架构说明\n\n\nMasterServer\nMasterServer采用分布式无中心设计理念,MasterServer主要负责 DAG 任务切分、任务提交监控,并同时监听其它MasterServer和WorkerServer的健康状态。\nMasterServer服务启动时向Zookeeper注册临时节点,通过监听Zookeeper临时节点变化来进行容错处理。\nMasterServer基于netty提供监听服务。\n该服务内主要包含:\n\n\nDistributedQuartz分布式调度组件,主要负责定时任务的启停操作,当quartz调起任务后,Master内部会有线程池具体负责处理任务的后续操作;\n\n\nMasterSchedulerService是一个扫描线程,定时扫描数据库中的t_ds_command表,根据不同的命令类型进行不同的业务 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/architecture/design",
+    "title": "系统架构设计",
+    "location": [
+      "架构设计",
+      "架构设计"
+    ]
+  },
+  {
+    "content": "\n前言\n本文档为dolphinscheduler配置文件说明文档。\n目录结构\nDolphinScheduler的目录结构如下:\n├── LICENSE\n│\n├── NOTICE\n│\n├── licenses                                    licenses存放目录\n│\n├── bin                                         DolphinScheduler命令和环境变量配置存放目录\n│   ├── dolphinscheduler-daemon.sh              启动/关闭DolphinScheduler服务脚本\n│   ├── env                                     环境变量配置存放目录\n│   │   ├── dolphinscheduler_env.sh             当使用`dolphinscheduler-daemon.sh`脚本起停服务时,运行此脚本加载环境变 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/architecture/configuration",
+    "title": "前言",
+    "location": [
+      "架构设计",
+      "配置文件"
+    ]
+  },
+  {
+    "content": "任务总体存储结构\n在dolphinscheduler中创建的所有任务都保存在t_ds_process_definition 表中.\n该数据库表结构如下表所示:\n\n\n\n序号\n字段\n类型\n描述\n\n\n\n\n1\nid\nint(11)\n主键\n\n\n2\nname\nvarchar(255)\n流程定义名称\n\n\n3\nversion\nint(11)\n流程定义版本\n\n\n4\nrelease_state\ntinyint(4)\n流程定义的发布状态:0 未上线 ,  1已上线\n\n\n5\nproject_id\nint(11)\n项目id\n\n\n6\nuser_id\nint(11)\n流程定义所属用户id\n\n\n7\nprocess_definition_json\nlongtext\n流程定义JSON\n\n\n8\ndescription\ntext\n流程定义描述\n\n\n9\nglobal_params\ntext\n全局参数\n\n\n10\nflag\ntinyint(4)\ [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/architecture/task-structure",
+    "title": "任务总体存储结构",
+    "location": [
+      "架构设计",
+      "任务结构"
+    ]
+  },
+  {
+    "content": "负载均衡\n负载均衡即通过路由算法(通常是集群环境),合理的分摊服务器压力,达到服务器性能的最大优化。\nDolphinScheduler-Worker 负载均衡算法\nDolphinScheduler-Master 分配任务至 worker,默认提供了三种算法:\n加权随机(random)\n平滑轮询(roundrobin)\n线性负载(lowerweight)\n默认配置为线性加权负载。\n由于路由是在客户端做的,即 master 服务,因此你可以更改 master.properties 中的 master.host.selector 来配置你所想要的算法。\neg:master.host.selector=random(不区分大小写)\nWorker 负载均衡配置\n配置文件 worker.properties\n权重\n上述所有的负载算法都是基于权重来进行加权分配的,权重影响分流结果。你可以在 修改 worker.weight 的值来给不同的机器设置不同的权重。\n预热\n考虑到 JIT 优化,我们会让 worker 在启动后低功 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/architecture/load-balance",
+    "title": "负载均衡",
+    "location": [
+      "架构设计",
+      "负载均衡"
+    ]
+  },
+  {
+    "content": "API 调用\n背景\n一般都是通过页面来创建项目、流程等,但是与第三方系统集成就需要通过调用 API 来管理项目、流程。\n操作步骤\n创建 token\n\n登录调度系统,点击 &quot;安全中心&quot;,再点击左侧的 &quot;令牌管理&quot;,点击 &quot;令牌管理&quot; 创建令牌。\n\n\n\n选择 &quot;失效时间&quot; (Token 有效期),选择 &quot;用户&quot; (以指定的用户执行接口操作),点击 &quot;生成令牌&quot; ,拷贝 Token 字符串,然后点击 &quot;提交&quot; 。\n\n\n使用案例\n查询项目列表信息\n\n打开 API 文档页面\n\n\n地址:http://{api server ip}:12345/dolphinscheduler/swagger-ui/index.html?language=zh_CN&amp;lang=cn\n\n\n\n选一个测试的接口,本次测试选取的接口是:查询所有项目\n\n\nprojects/list [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/api/open-api",
+    "title": "API 调用",
+    "location": [
+      "API",
+      "API调用"
+    ]
+  },
+  {
+    "content": "PyDolphinScheduler\nPyDolphinScheduler 是 Apache DolphinScheduler 的 Python API,它允许您通过 Python 代码定义您的工作流,也称为 workflow-as-codes。\n更多信息请参考PyDolphinScheduler\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/api/pydolphinscheduler",
+    "title": "PyDolphinScheduler",
+    "location": [
+      "API",
+      "PyDolphinScheduler"
+    ]
+  },
+  {
+    "content": "健康检查\n背景\n运行状况检查旨在提供一种独特的方法来检查 Dolphinscheduler 服务的运行状况。它包括模块的运行状况,例如 DB、缓存、网络等等。\nEndpoint\nAPI-Server\ncurl --request GET &#x27;http://localhost:12345/dolphinscheduler/actuator/health&#x27;\n\n{&quot;status&quot;:&quot;UP&quot;,&quot;components&quot;:{&quot;db&quot;:{&quot;status&quot;:&quot;UP&quot;,&quot;details&quot;:{&quot;database&quot;:&quot;H2&quot;,&quot;validationQuery&quot;:&quot;isValid()&quot;}}}}\n\nMaster-Server\ncurl --request GET &#x27;http://localhost:5 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/guide/api/healthcheck",
+    "title": "健康检查",
+    "location": [
+      "API",
+      "健康检查"
+    ]
+  },
+  {
+    "content": "Apache DolphinScheduler安全模型\n本文档主要用于描述不同角色用户的工作范围、职责和重点功能,通过对用户权限和功能的介绍辅助用户在了解部署、使用、运维等阶段的注意事项和规则。针对开发者可以通过本文档了解安全漏洞与正常功能的边界。\nApache DolphinScheduler工作流程\n从了解到使用Apache DolphinScheduler,用户一般会经过以下几个阶段。\n1.系统部署,配置运行环境\n2.创建系统用户,配置对应资源\n3.创建工作流定义,配置任务运行\n4.系统运维\n无论用户使用的是单节点、伪集群、还是集群部署(服务器或云部署),对于系统的使用都会经过以上四个步骤。针对上述四个步骤,一般会涉及到以下三种类型的用户。\n用户类型\n1.服务部署人员\n服务部署人员需要拥有操作服务器的权限,服务部署人员需要了解相关任务运行的方式,已确�
 ��服务器安全边界和环境要求。\n(1).对于多租户运行场景,服务器部署用户需要具备创建用户和切换用户权限。\n(2).Apache DolphinScheduler [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/security-model",
+    "title": "Apache DolphinScheduler安全模型",
+    "location": [
+      "贡献指南",
+      "如何参与",
+      "安全模型"
+    ]
+  },
+  {
+    "content": "安全\nApache Software Foundation在消除其软件项目中的安全性问题方面采取严格的立场。 Apache DolphinScheduler也非常关注与其功能有关的安全性问题。\n如果您对DolphinScheduler的安全性有疑虑,或者发现了漏洞或潜在威胁,请发送邮件至[security@apache.org],与Apache安全团队联系。 请在电子邮件中将项目名称指定为DolphinScheduler,并提供相关问题或潜在威胁的描述。 还敦促您推荐重现和复制问题的方法。 在评估和分析调查结果之后,apache安全团队和DolphinScheduler社区将与您联系。\n在公共领域公开该安全电子邮件之前,请注意在安全电子邮件中报告该安全问题。\n注意\n在您提交之前,请先按照Apache DolphinScheduler安全模型检查该问题是否属于安全漏洞。\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/security",
+    "title": "安全",
+    "location": [
+      "贡献指南",
+      "如何参与",
+      "报告安全问题"
+    ]
+  },
+  {
+    "content": "如何成为Apache Dolphinscheduler项目的committer\nDolphinscheduler 项目管理委员会(PMC)会评估候选人的贡献,并在合适的时间提名候选者。\n像许多Apache项目一样,Dolphinscheduler欢迎所有形式的贡献,包括代码贡献、博客布道、新用户指南、公开演讲,以及以各种方式宣传项目和优化项目。\n成为committer的第一步是要学习如何为Dolphinscheduler贡献并开始为Dolphinscheduler贡献,任何人可以向项目提交补丁、使用文档、测试用例等。\nPMC会定期基于活跃贡献者们对Dolphinscheduler的贡献从他们中提名增加新的committer,要被提名为committer的条件如下:\n\n对Dolphinscheduler有持续的贡献:候选人应该对Dolphinscheduler有重大贡献,并且至少贡献了一个主要的组件,并在其中扮演了&quot;owner&quot;的角色。\n贡献的质量:候选人提交代码的质量应该比其他贡献者更高,此外�
 ��们应该表现 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/become-a-committer",
+    "title": "如何成为Apache Dolphinscheduler项目的committer",
+    "location": [
+      "贡献指南",
+      "如何参与",
+      "如何成为 Committer"
+    ]
+  },
+  {
+    "content": "订阅邮件列表\n强烈推荐订阅开发邮件列表,与社区保持最新信息同步,这一点非常重要。\n在使用DolphinScheduler的过程中,如果您有任何问题或者想法、建议,都可以通过Apache邮件列表参与到DolphinScheduler的社区建设中来。\n发送订阅邮件也非常简单,步骤如下:\n\n\n用自己的邮箱向[dev-subscribe@dolphinscheduler.apache.org]发送一封邮件,主题和内容任意。\n\n\n接收确认邮件并回复。 完成步骤1后,您将收到一封来自dev-help@dolphinscheduler.apache.org的确认邮件(如未收到,请确认邮件是否被自动归入垃圾邮件、推广邮件、订阅邮件等文件夹)。然后直接回复该邮件,或点击邮件里的链接快捷回复即可,主题和内容任意。\n\n\n接收欢迎邮件。 完成以上步骤后,您会收到一封主题为WELCOME to dev@dolphinscheduler.apache.org的欢迎邮件,至此您已成功订阅Apache Dolphin
 Scheduler的邮件列表。 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/subscribe",
+    "title": "订阅邮件列表",
+    "location": [
+      "贡献指南",
+      "如何参与",
+      "订阅/取消订阅邮件列表"
+    ]
+  },
+  {
+    "content": "参与贡献\n首先非常感谢大家选择和使用 DolphinScheduler,非常欢迎大家加入 DolphinScheduler 大家庭,融入开源世界!\n我们鼓励任何形式的参与社区,最终成为 Committer 或 PPMC,如:\n\n将遇到的问题通过 github 上 issue 的形式反馈出来\n回答别人遇到的 issue 问题\n帮助完善文档\n帮助项目增加测试用例\n为代码添加注释\n提交修复 Bug 或者 Feature 的 PR\n发表应用案例实践、调度流程分析或者与调度相关的技术文章\n帮助推广 DolphinScheduler,参与技术大会或者 meetup 的分享等\n\n欢迎加入贡献的队伍,加入开源从提交第一个 PR 开始\n\n比如添加代码注释或找到带有 ”easy to fix” 标记或一些非常简单的 issue(拼写错误等) 等等,先通过第一个简单的 PR 熟悉提交流程\n\n注:贡献不仅仅限于 PR 哈,对促进项目发展的都是贡献\n相信参与 DolphinScheduler,一定会�
 �您从开源中受益!\n1. 参 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/contribute",
+    "title": "参与贡献",
+    "location": [
+      "贡献指南",
+      "如何参与",
+      "参与贡献"
+    ]
+  },
+  {
+    "content": "行为准则\n以下行为准则以完全遵循Apache软件基金会行为准则为前提。\n开发理念\n\n一致 代码风格、命名以及使用方式保持一致。\n易读 代码无歧义,易于阅读和理解而非调试手段才知晓代码意图。\n整洁 认同《重构》和《代码整洁之道》的理念,追求整洁优雅代码。\n抽象 层次划分清晰,概念提炼合理。保持方法、类、包以及模块处于同一抽象层级。\n用心 保持责任心,持续以工匠精神雕琢。\n\n开发规范\n\n执行mvn -U clean package -Prelease可以编译和测试通过全部测试用例。\n测试覆盖率工具检查不低于dev分支覆盖率。\n请使用Checkstyle检查代码,违反验证规则的需要有特殊理由。模板位置在根目录下ds_check_style.xml。\n遵守编码规范。\n\n编码规范\n\n使用linux换行符。\n缩进(包含空行)和上一行保持一致。\n类声明后与下面的变量或方法之�
 ��需要空一行。\n不应有无意义的空行。\n类、方法和变量的命名要做到顾名思义,避免使用缩写。\n返回值变量使用result命名;循环中使用e [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/code-conduct",
+    "title": "行为准则",
+    "location": [
+      "贡献指南",
+      "如何参与",
+      "行为准则"
+    ]
+  },
+  {
+    "content": "参与社区 review\n贡献 DolphinScheduler 的方式,除了向 团队 中提到的 GitHub 仓库提交 Issues 和 pull requests 外,另一非常重要的方式是\nreview 社区的 Issues 或者 Pull Requests。通过别人 Issues 和 Pull Requests,你不仅能知道社区的最新进展和发展方向,还能了解别人代码的设\n计思想,同时可以增加自己在社区的曝光、积累自己在社区的荣誉值。\n任何人都被鼓励去 review 社区的 Issues 和 Pull Requests。我们还曾经发起过一个 Help Wanted 的邮件讨论,向社区征求贡献者协助 review Issues\n以及 Pull Requests,详见 邮件,并将其结果放到了 GitHub Discussion 中。\n\n注意: 这里并不是说只有 GitHub Discussion 中提及的用户才可以协助 review Issue 或者 Pull Requests,\n请记住社区的主张是 任何人都被鼓励去 rev [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/review",
+    "title": "参与社区 review",
+    "location": [
+      "贡献指南",
+      "如何参与",
+      "Review Issue or Pull Requests"
+    ]
+  },
+  {
+    "content": "DolphinScheduler E2E 测试参与指南\nE2E 测试的主要目的是通过模拟真实的用户场景,验证被测系统及其组件的集成性和数据完整性,从而可以扩展测试范围,确保系统的健康稳定,在一定程度上减少测试工作量和成本。简单来说,E2E 测试就是把程序当做黑盒子,以用户的视角对真实系统的访问行为进行仿真,对测试的输入(用户行为/模拟数据),看能否得到预期得到的结果。因此,社区决定为 DolphinScheduler 增加 E2E 自动化测试。\n当前社区的 E2E 测试尚未达到完全覆盖,因此编写此文档,目的在于引导更多的同学参与进来。\n如何寻找对应的 issue ?\n当前社区把 E2E 需要测试的页面已经列出相关的 issue,主要分为 Project Management、Resource Center、DataSource、Security Center 四个页面。\n贡献者可以通过 GitHub 然后搜索 apace/dolphinscheduler,然后在 issue �
 �表中搜索 e2e test cases 即可找到对应 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/e2e-guide",
+    "title": "DolphinScheduler E2E 测试参与指南",
+    "location": [
+      "贡献指南",
+      "如何参与",
+      "E2E Contribution Guide"
+    ]
+  },
+  {
+    "content": "提交代码\n\n\n首先从远端仓库https://github.com/apache/dolphinscheduler.git fork一份代码到自己的仓库中\n\n\n远端仓库中目前有三个分支:\n\n\nmaster 正常交付分支\n发布稳定版本以后,将稳定版本分支的代码合并到master上。\n\n\ndev    日常开发分支\n日常dev开发分支,新提交的代码都可以pull request到这个分支上。\n\n\nbranch-1.0.0 发布版本分支\n发布版本分支,后续会有2.0...等版本分支。\n\n\n\n\n把自己仓库clone到本地\n git clone https://github.com/apache/dolphinscheduler.git\n\n\n添加远端仓库地址,命名为upstream\ngit remote add upstream https://github.com/apache/dolphinscheduler.git\n\n\n查看仓库:\n git remote -v\n\n\n\n此时会 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/submit-code",
+    "title": "提交代码",
+    "location": [
+      "贡献指南",
+      "如何参与",
+      "提交代码"
+    ]
+  },
+  {
+    "content": "License 须知\n如您所知,DolphinScheduler现属于ASF(Apache基金会)下的开源项目,这意味着当您想要成为DolphinScheduler的贡献者的时候,就必须按照Apache的规则来,而Apache对于License有着极其严苛的规则,为了避免贡献者在License上浪费过多的时间,\n本文将为您讲解ASF—License以及参与DolphinScheduler如何过早的规避掉License风险。\n注:本文仅适用于Apache项目。\nApache项目可接受的License\n当您想要为DolphinScheduler(亦或其他Apache项目)增添一个新的功能,这个功能涉及到其他开源软件的引用,那么您必须注意,目前Apache项目支持遵从以下协议的开源软件(如果有遗漏,欢迎补充):\nASF第三方许可证策\n如果您所使用的第三方软件并不在以上协议之中,那么很抱歉,您的代码将无法通过审核,建议您找寻其他替代方案。\n另外,当您需要使用新的软件的�
 ��候,请将您这样做的原因、最终产出结果发邮件至[dev@dolp [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/DS-License",
+    "title": "License 须知",
+    "location": [
+      "贡献指南",
+      "如何参与",
+      "License须知"
+    ]
+  },
+  {
+    "content": "文档须知\n良好的使用文档对任何类型的软件都是至关重要的。欢迎任何可以改进 DolphinScheduler 文档的贡献。\n获取文档项目\nDolphinScheduler 项目的文档维护在独立的 git 仓库中。\n首先你需要先将文档项目 fork 到自己的 github 仓库中,然后将 fork 的文档克隆到本地计算机中。\ngit clone https://github.com/&lt;your-github-user-name&gt;/dolphinscheduler-website\n\n文档构建指南\n\n\n在根目录中运行 yarn 以安装依赖项。\n\n\n运行命令收集资源:2.1.运行 export PROTOCOL_MODE=ssh 告诉Git克隆资源,通过SSH协议而不是HTTPS协议。 2.2.运行 ./scripts/prepare_docs.sh 准备所有相关资源,关更多信息,您可以查看how prepare script work。\n\n\n在根目录下运行 yarn generate 来格式化和准备数据 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/document",
+    "title": "文档须知",
+    "location": [
+      "贡献指南",
+      "如何参与",
+      "文档须知"
+    ]
+  },
+  {
+    "content": "Issue 须知\n前言\nIssues 功能被用来追踪各种特性,Bug,功能等。项目维护者可以通过 Issues 来组织需要完成的任务。\nIssue 是引出一个 Feature 或 Bug 等的重要步骤,在单个\nIssue 中可以讨论的内容包括但不限于 Feature 的包含的功能,存在的 Bug 产生原因,前期方案的调研,以及其对应的实现设计和代码思路。\n并且只有当 Issue 被 approve 之后才需要有对应的 Pull Request 去实现。\n如果是一个 Issue 对应的是一个大 Feature,建议先将其按照功能模块等维度分成多个小的 Issue。\n规范\nIssue 标题\n标题格式:[Issue 类型][模块名] Issue 描述\n其中Issue 类型如下:\n\n    \n        \n            Issue 类型\n            描述\n            样例\n        \n    \n    \n        \n            Feature\ [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/issue",
+    "title": "Issue 须知",
+    "location": [
+      "贡献指南",
+      "如何参与",
+      "Issue须知"
+    ]
+  },
+  {
+    "content": "Pull Request 须知\n前言\nPull Request 本质上是一种软件的合作方式,是将涉及不同功能的代码,纳入主干的一种流程。这个过程中,可以进行讨论、审核和修改代码。\n在 Pull Request 中尽量不讨论代码的实现方案,代码及其逻辑的大体实现方案应该尽量在\nIssue 或者邮件列表中被讨论确定,在 Pull Request 中我们尽量只关注代码的格式以及代码规范等信息,从而避免实现方式的意见不同而导致\nwaste time。\n规范\nPull Request 标题\n标题格式:[Pull Request 类型-Issue 号][模块名] Pull Request 描述\n其中Pull Request 类型和Issue 类型的对应关系如下:\n\n    \n        \n            Issue 类型\n            Pull Request 类型\n            样例(假设 Issue 号为 3333)\n        \n    \n    \n        \n  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/pull-request",
+    "title": "Pull Request 须知",
+    "location": [
+      "贡献指南",
+      "如何参与",
+      "Pull Request须知"
+    ]
+  },
+  {
+    "content": "Commit Message 须知\n前言\n一个好的 commit message 是能够帮助其他的开发者(或者未来的开发者)快速理解相关变更的上下文,同时也可以帮助项目管理人员确定该提交是否适合包含在发行版中。但当我们在查看了很多开源项目的 commit log 后,发现一个有趣的问题,一部分开发者,代码质量很不错,但是 commit message 记录却比较混乱,当其他贡献者或者学习者在查看代码的时候,并不能通过 commit log 很直观的了解\n该提交前后变更的目的,正如 Peter Hutterer 所言:Re-establishing the context of a piece of code is wasteful. We can’t avoid it completely, so our efforts should go to reducing it as much as possible. Commit messages can do exactly that and as a result, a commit [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/commit-message",
+    "title": "Commit Message 须知",
+    "location": [
+      "贡献指南",
+      "如何参与",
+      "Commit Message须知"
+    ]
+  },
+  {
+    "content": "微基准测试须知\n所有的优化必须建立在数据印证的基础上,拒绝盲目优化。基于此,我们提供了MicroBench模块。\nMicroBench模块是基于OpenJDK JMH构件的(HotSpot的推荐基准测试方案)。当你开始基准测试时,你不需要额外的依赖。\nJMH,即Java MicroBenchmark Harness,是专门用于代码微基准测试的工具套件。何谓Micro Benchmark呢?简单的来说就是基于方法层面的基准测试,精度可以达到微秒级。当你定位到热点方法,希望进一步优化方法性能的时候,就可以使用JMH对优化的结果进行量化的分析。\nJava基准测试需要注意的几个点:\n\n\n防止无用代码进入测试方法中。\n\n\n并发测试。\n\n\n测试结果呈现。\n\n\nJMH比较典型的应用场景有:\n\n\n1:定量分析某个热点函数的优化效果\n\n\n2:想定量地知道某个函数需要执行多长时间,以及执行时间和输入变量的相
 关性\n\n\n3:对比一个函数的多种实现方式\n\n\nDolphinScheduler-MicroBenc [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/microbench",
+    "title": "微基准测试须知",
+    "location": [
+      "贡献指南",
+      "如何参与",
+      "微基准测试须知"
+    ]
+  },
+  {
+    "content": "Unit Test 覆盖率\nUnit Test\n1.写单元测试的收益\n\n单元测试能帮助每个人深入代码细节,了解代码的功能。\n通过测试用例我们能发现 bug,并提交代码的健壮性。\n测试用例同时也是代码的 demo 用法。\n\n2.单元测试用例的一些设计原则\n\n应该精心设计好步骤,颗粒度和组合条件。\n注意边界条件。\n单元测试也应该好好设计,不要写无用的代码。\n当你发现一个方法很难写单元测试时,如果可以确认这个方法是臭代码,那么就和开发者一起重构它。\n\n\n\nDolphinScheduler: mockito. 下面是一些开发向导: mockito tutorial, mockito refcard\n\n\n\nTDD(可选):当你开始写一个新的功能时,你可以试着先写测试用例。\n\n3.测试覆盖率设定值\n\n在现阶段,Delta 更改代码的测试覆盖设定值为:&gt;=60%,越高越好。\n我们可以在这个页面中看到测试报告: https://codecov.
 io/gh/apache/dolphinschedul [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/join/unit-test",
+    "title": "Unit Test 覆盖率",
+    "location": [
+      "贡献指南",
+      "如何参与",
+      "单元测试编写指南"
+    ]
+  },
+  {
+    "content": "DolphinScheduler 开发手册\n软件要求\n在搭建 DolphinScheduler 开发环境之前请确保你已经安装以下软件:\n\nGit\nJDK: v1.8+\nMaven: v3.5+\nNode: v16.0+\nPnpm: v8.0+ (请确保不同版本的pnpm与Node.js之间是相互兼容的,可参考:Compatibility)\n\n克隆代码库\n通过你 git 管理工具下载 git 代码,下面以 git-core 为例\nmkdir dolphinscheduler\ncd dolphinscheduler\ngit clone git@github.com:apache/dolphinscheduler.git\n\n编译源码\n支持的系统:\n\nMacOS\nLinux\n\n运行 mvn clean install -Prelease -Dmaven.test.skip=true\n代码风格\nDolphinScheduler使用Spotless检查并修复代码风格和格式问题。\n您可以执行如下的命令, [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/development-environment-setup",
+    "title": "DolphinScheduler 开发手册",
+    "location": [
+      "贡献指南",
+      "环境搭建"
+    ]
+  },
+  {
+    "content": "系统架构设计\n在对调度系统架构说明之前,我们先来认识一下调度系统常用的名词\n1.名词解释\nDAG: 全称 Directed Acyclic Graph,简称 DAG。工作流中的 Task 任务以有向无环图的形式组装起来,从入度为零的节点进行拓扑遍历,直到无后继节点为止。举例如下图:\n\n  \n  \n        dag示例\n  \n\n流程定义:通过拖拽任务节点并建立任务节点的关联所形成的可视化DAG\n流程实例:流程实例是流程定义的实例化,可以通过手动启动或定时调度生成,流程定义每运行一次,产生一个流程实例\n任务实例:任务实例是流程定义中任务节点的实例化,标识着具体的任务执行状态\n任务类型: 目前支持有 SHELL、SQL、SUB_WORKFLOW(子工作流)、PROCEDURE、MR、SPARK、PYTHON、DEPENDENT(依赖),同时计划支持动态插件扩展,注意:其中子 SUB_WORKFLOW 也是一个单独的流程定义,�
 �可以单独启动执行的\n调度方式: 系统支持基于 cron 表达式的定时调度和手动调度。命 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/architecture-design",
+    "title": "系统架构设计",
+    "location": [
+      "贡献指南",
+      "设计文档",
+      "架构设计"
+    ]
+  },
+  {
+    "content": "DolphinScheduler Alert SPI 主要设计\nDolphinScheduler SPI 设计\nDolphinScheduler 正在处于微内核 + 插件化的架构更改之中,所有核心能力如任务、资源存储、注册中心等都将被设计为扩展点,我们希望通过 SPI 来提高 DolphinScheduler 本身的灵活性以及友好性(扩展性)。\n告警相关代码可以参考 dolphinscheduler-alert-api 模块。该模块定义了告警插件扩展的接口以及一些基础代码,当我们需要实现相关功能的插件化的时候,建议先阅读此块的代码,当然,更建议你阅读文档,这会减少很多时间,不过文档有一定的后滞性,当文档缺失的时候,建议以源码为准(如果有兴趣,我们也欢迎你来提交相关文档),此外,我们几乎不会对扩展接口做变更(不包括新增),除非重大架构调整,出现不兼容升级版本,因此,现有文档一般都能够满足。\n我们采用了原生�
 � JAVA-SPI,当你需要扩展的时候,事实上你只需要关注扩展org.apache.dolphinscheduler.alert [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/backend/spi/alert",
+    "title": "DolphinScheduler Alert SPI 主要设计",
+    "location": [
+      "贡献指南",
+      "设计文档",
+      "Alert SPI"
+    ]
+  },
+  {
+    "content": "DolphinScheduler Registry SPI 扩展\n如何使用?\n进行以下配置(以 zookeeper 为例)\n\n\n注册中心插件配置, 以Zookeeper 为例 (registry.properties)\ndolphinscheduler-service/src/main/resources/registry.properties\nregistry.plugin.name=zookeeper\nregistry.servers=127.0.0.1:2181\n\n\n\n具体配置信息请参考具体插件提供的参数信息,例如 zk:org/apache/dolphinscheduler/plugin/registry/zookeeper/ZookeeperConfiguration.java\n所有配置信息前缀需要 +registry,如 base.sleep.time.ms,在 registry 中应该这样配置:registry.base.sleep.time.ms=100\n如何扩展\ndolphinschedul [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/backend/spi/registry",
+    "title": "DolphinScheduler Registry SPI 扩展",
+    "location": [
+      "贡献指南",
+      "设计文档",
+      "Registry SPI"
+    ]
+  },
+  {
+    "content": "DolphinScheduler Task SPI 扩展\n如何进行任务插件开发?\norg.apache.dolphinscheduler.spi.task.TaskChannel\n插件实现以上接口即可。主要包含创建任务(任务初始化,任务运行等方法)、任务取消,如果是 yarn 任务,则需要实现 org.apache.dolphinscheduler.plugin.task.api.AbstractYarnTask。\n我们在 dolphinscheduler-task-api 模块提供了所有任务对外访问的 API,而 dolphinscheduler-spi 模块则是 spi 通用代码库,定义了所有的插件模块,比如告警模块,注册中心模块等,你可以详细阅读查看。\n另外,TaskChannelFactory 继承自 PrioritySPI,这意味着你可以设置插件的优先级,当你有两个插件同名时,你可以通过重写 getIdentify 方法来自定义优先级。高优先级的插件会被加载,但是如果你有两个同名且优先级相同的插件,加载插件时服务器会抛 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/backend/spi/task",
+    "title": "DolphinScheduler Task SPI 扩展",
+    "location": [
+      "贡献指南",
+      "设计文档",
+      "Task SPI"
+    ]
+  },
+  {
+    "content": "DolphinScheduler Datasource SPI 主要设计\n如何使用数据源?\n数据源中心默认支持POSTGRESQL、HIVE/IMPALA、SPARK、CLICKHOUSE、SQLSERVER数据源。\n如果使用的是MySQL、ORACLE数据源则需要、把对应的驱动包放置lib目录下\n如何进行数据源插件开发?\norg.apache.dolphinscheduler.spi.datasource.DataSourceChannel\norg.apache.dolphinscheduler.spi.datasource.DataSourceChannelFactory\norg.apache.dolphinscheduler.spi.datasource.client.DataSourceClient\n\n第一步数据源插件实现以上接口和继承通用client即可,具体可以参考sqlserver、mysql等数据源插件实现,所有RDBMS插件的添加方式都是一样的。\n在数据源插件pom.xml添加驱动配置\n\n我们在  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/backend/spi/datasource",
+    "title": "DolphinScheduler Datasource SPI 主要设计",
+    "location": [
+      "贡献指南",
+      "设计文档",
+      "Datasource SPI"
+    ]
+  },
+  {
+    "content": "综述\n\n\n全局参数\nswitch任务类型\n\n",
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/backend/mechanism/overview",
+    "title": "综述",
+    "location": [
+      "贡献指南",
+      "设计文档",
+      "组件设计"
+    ]
+  },
+  {
+    "content": "前端开发文档\n技术选型\nVue mvvm 框架\n\nEs6 ECMAScript 6.0\n\nAns-ui Analysys-ui\n\nD3 可视化库图表库\n\nJsplumb 连线插件库\n\nLodash 高性能的 JavaScript 实用工具库\n\n开发环境搭建\n\n\n\nNode安装\nNode包下载 (注意版本 v12.20.2) https://nodejs.org/download/release/v12.20.2/\n\n\n\n前端项目构建\n用命令行模式 cd  进入 dolphinscheduler-ui项目目录并执行 npm install 拉取项目依赖包\n\n如果 npm install 速度非常慢,你可以设置淘宝镜像\n\nnpm config set registry http://registry.npmmirror.com/\n\n\n修改 dolphinscheduler-ui/.env.development 文件中的 VITE_APP_DEV_WEB_URL,用于跟后端交互:\ [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/frontend-development",
+    "title": "前端开发文档",
+    "location": [
+      "贡献指南",
+      "规范",
+      "前端开发"
+    ]
+  },
+  {
+    "content": "API 设计规范\n规范统一的 API 是项目设计的基石。DolphinScheduler 的 API 遵循 REST ful 标准,REST ful 是目前最流行的一种互联网软件架构,它结构清晰,符合标准,易于理解,扩展方便。\n本文以 DolphinScheduler 项目的接口为样例,讲解如何构造具有 Restful 风格的 API。\n1. URI 设计\nREST 即为 Representational State Transfer 的缩写,即“表现层状态转化”。\n“表现层”指的就是“资源”。资源对应网络上的一种实体,例如:一段文本,一张图片,一种服务。且每种资源都对应一个特定的 URI。\nRestful URI 的设计基于资源:\n\n一类资源:用复数表示,如 task-instances、groups 等;\n单个资源:用单数,或是用 id 值表示某类资源下的一个,如 group、groups/{groupId};\n子资源:某个资源下的资源:/instances/{instanceId}/tasks;\n子资源下的单个 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/api-standard",
+    "title": "API 设计规范",
+    "location": [
+      "贡献指南",
+      "规范",
+      "API规范"
+    ]
+  },
+  {
+    "content": "DolphinScheduler — E2E 自动化测试\n一、前置知识:\n1、E2E 测试与单元测试的区别\nE2E,是“End to End”的缩写,可以翻译成“端到端”测试。它模仿用户,从某个入口开始,逐步执行操作,直到完成某项工作。与单元测试不同,后者通常需要测试参数、参数类型、参数值、参数数量、返回值、抛出错误等,目的在于保证特定函数能够在任何情况下都稳定可靠完成工作。单元测试假定只要所有函数都正常工作,那么整个产品就能正常工作。\n相对来说,E2E 测试并没有那么强调要覆盖全部使用场景,它关注的一个完整的操作链是否能够完成。对于 Web 前端来说,还关注界面布局、内容信息是否符合预期。\n比如,登陆界面的 E2E 测试,关注用户是否能够正常输入,正常登录;登陆失败的话,是否能够正确显示错误信息。至于输入不合法的内容�
 �否处理,并不是所关注的重点。\n2、Selenium 测试框架\nSelenium 是一种开源测试工具,用于在 Web 浏览器上执行自动化测试。该框架使用 WebDriver 通过浏览器的原生组件,转化 Web  [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/e2e-test",
+    "title": "DolphinScheduler — E2E 自动化测试",
+    "location": [
+      "贡献指南",
+      "规范",
+      "E2E 自动化测试"
+    ]
+  },
+  {
+    "content": "DolphinScheduler — API 测试\n前置知识:\nAPI 测试与单元测试的区别\nAPI测试,它模仿用户调用API,从某个入口开始,逐步执行操作,直到完成某项工作。与单元测试不同,后者通常需要测试参数、参数类型、参数值、参数数量、返回值、抛出错误等,目的在于保证特定函数能够在任何情况下都稳定可靠完成工作。单元测试假定只要所有函数都正常工作,那么整个产品就能正常工作。\n相对来说,API 测试关注的一个完整的操作链是否能够完成。\n比如,租户管理界面的 API 测试,关注用户是否能够正常登录;登陆失败的话,是否能够正确显示错误信息。登陆之后时候能够通过携带的 SessionId 进行租户管理的操作等等。\nAPI 测试\nAPI-Pages\nDolphinScheduler 的 API 测试使用 docker-compose 部署,当前测试的为单机模式,主要用于检验一些例如“增删改查�
 ��基本功能,后期如需做集群验证,例如不同服务之间的协作,或者各个服务之间的通讯机制,可参考 deploy/docker/docker-com [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/api-test",
+    "title": "DolphinScheduler — API 测试",
+    "location": [
+      "贡献指南",
+      "规范",
+      "API 自动化测试"
+    ]
+  },
+  {
+    "content": "日志规范\n前言\n日志被用来追踪、记录系统开发、运行期间的各种行为。规范的日志打印可以帮助用户或开发者快速了解系统运行状态、定位问题。\nApache DolphinScheduler使用Logback日志框架,按照DEBUG、WARN、INFO、ERROR四个级别对日志进行打印,其优先级为DEBUG &lt; INFO &lt; WARN &lt; ERROR。\n规范\n日志级别规范\n不同级别的日志在业务过程中起着不同的作用,如果不能使用合理的日志级别进行打印,会对系统运维带来很大的困难。\n\nDEBUG级别在开发、测试过程中使用,用于输出调试信息。开发者尽可能将调试过程中的参数信息,过程细节,结果信息使用该级别打印,方便在开发、测试阶段定位、分析问题。此外,禁止在生产环境中使用该级别打印日志。\nINFO级别用于记录系统运行期间的信息。使用该级别打印的日志应能够反映系统的行为,比
 如工作流、任务的状态变化等。\nWARN级别用于对运行过程中将会出现的问题进行警告。比如API模块参数的校验等。\nERROR级别用于记录一些不可预知 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/log-specification",
+    "title": "日志规范",
+    "location": [
+      "贡献指南",
+      "规范",
+      "日志规范"
+    ]
+  },
+  {
+    "content": "发版指南\n准备\n这部分是预发布工作,大部分是一次性的,意思是它只在你的第一次发布时需要。 如果你有之前发布过,请跳过本节到下一个部分。\n检查环境\n为确保您可以成功完成 DolphinScheduler 的发布,您应该检查您的环境并确保满足所有条件,如果缺少任何条件,您应该安装它们并确保它们正常工作。\n# 需要 JDK 1.8 及以上的版本\njava -version\n# 需要 Maven\nmvn -version\n\nGPG 设置\n安装 GPG\n在GnuPG 官网下载安装包。\nGnuPG 的 1.x 版本和 2.x 版本的命令有细微差别,下列说明以GnuPG-2.1.23版本为例。\n安装完成后,执行以下命令查看版本号。\ngpg --version\n\n创建 key\n安装完成后,执行以下命令创建 key。\nGnuPG-2.x可使用:\ngpg --full-gen-key\n\nGnuPG-1.x可使用:\ngpg --gen-key\n\n根据提示完成 key,注意:请使用 Apache mail 和 对 [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/release",
+    "title": "发版指南",
+    "location": [
+      "贡献指南",
+      "发版"
+    ]
+  },
+  {
+    "content": "当你遇到问题时\nSlack\n聊天室是快速提问或讨论具体话题的好地方。\n以下聊天室是Apache DolphinScheduler的正式组成部分:\n​\tSlack工作区的网址:http://asf-dolphinscheduler.slack.com/\n​\t你可以通过该邀请链接加入:https://join.slack.com/t/asf-dolphinscheduler/shared_invite/zt-1e0s4agia-Ofkxa93zStmqTm9UsQBE8g\n此聊天室用于与DolphinScheduler使用相关的问题讨论。\n邮件列表\n\ndev@dolphinscheduler.apache.org 是为那些想为DolphinScheduler贡献代码的人准备的。 (订阅) (退订) (存档)\n\n使用电子邮件时的一些快速提示:\n\n在你的邮件的主题栏里加上标签会帮助你得到更快的回应,例如:[ApiServer]:如何获得开放的api接口?\n可以通过以下标签定义你的主题。\n\n组件相关:Master [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/contribute/have-questions",
+    "title": "当你遇到问题时",
+    "location": [
+      "贡献指南",
+      "问题与交流"
+    ]
+  },
+  {
+    "content": "DSIP\nDolphinScheduler Improvement Proposal (DSIP) 是对 Apache DolphinScheduler 代码库进行的重大改进。它不是为了小修小补存在的,\nDSIP 的目的是通知社区完成或即将完成的重大变更。\n怎样的修改应该被认定为 DSIP\n\n任何重大的新功能、重大改进、引入或删除组件\n任何公共接口的任何重大变化,例如 API接口、web ui 巨大变化\n\n当一个 PR 或者 Issue 是否应该被认定为 DSIP 存疑时,如果有 committer 认为他应该纳入 DAIP 的范畴,那它就应该是 DSIP。\n我们使用 GitHub Issue 和 Apache 邮件列表来记录和保存 DSIP,想要了解更多相关信息,您可以跳转到 当前的 DSIPs 以及 past DSIPs\n作为 DSIP,它应该包含如下部分:\n\n在 dev@dolphinscheduler.apache.org 中有一个以 [DISCUSS][DSIP 为开头的邮件。\n有一个打了 &quot; [...]
+    "version": "3.3.2",
+    "time": "2025-10-30",
+    "link": "/DSIP",
+    "title": "DSIP",
+    "location": [
+      "DSIP",
+      "DSIP"
+    ]
+  },
   {
     "content": "关于DolphinScheduler\nApache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。\nApache DolphinScheduler 旨在解决复杂的大数据任务依赖关系,并为应用程序提供数据和各种 OPS 编排中的关系。 解决数据研发ETL依赖错综复杂,无法监控任务健康状态的问题。\nDolphinScheduler 以 DAG(Directed Acyclic Graph,DAG)流式方式组装任务,可以及时监控任务的执行状态,支持重试、指定节点恢复失败、暂停、恢复、终止任务等操作。\n\n",
     "version": "dev",
diff --git a/fetch/deployment.json b/fetch/deployment.json
index 989f97890d..a1016bb18e 100644
--- a/fetch/deployment.json
+++ b/fetch/deployment.json
@@ -31,6 +31,7 @@
     "3.2.2",
     "3.3.0-alpha",
     "3.3.1",
+    "3.3.2",
     "dev"
   ],
   "Pseudo Cluster": [
@@ -65,6 +66,7 @@
     "3.2.2",
     "3.3.0-alpha",
     "3.3.1",
+    "3.3.2",
     "dev"
   ],
   "Cluster": [
@@ -99,6 +101,7 @@
     "3.2.2",
     "3.3.0-alpha",
     "3.3.1",
+    "3.3.2",
     "dev"
   ],
   "Kubernetes": [
@@ -133,6 +136,7 @@
     "3.2.2",
     "3.3.0-alpha",
     "3.3.1",
+    "3.3.2",
     "dev"
   ],
   "Cloud": []
diff --git a/fetch/doc/en-us/3.3.2.json b/fetch/doc/en-us/3.3.2.json
new file mode 100644
index 0000000000..52dbba384b
--- /dev/null
+++ b/fetch/doc/en-us/3.3.2.json
@@ -0,0 +1,1654 @@
+[
+  {
+    "title": "About",
+    "children": [
+      {
+        "title": "Introduction",
+        "children": [],
+        "location": [
+          "About",
+          "Introduction"
+        ],
+        "key": "/about/introduction"
+      },
+      {
+        "title": "Features",
+        "children": [],
+        "location": [
+          "About",
+          "Features"
+        ],
+        "key": "/about/features"
+      },
+      {
+        "title": "Hardware Environment",
+        "children": [],
+        "location": [
+          "About",
+          "Hardware Environment"
+        ],
+        "key": "/about/hardware"
+      },
+      {
+        "title": "Glossary",
+        "children": [],
+        "location": [
+          "About",
+          "Glossary"
+        ],
+        "key": "/about/glossary"
+      }
+    ],
+    "location": [
+      "About"
+    ],
+    "key": "/about_menu"
+  },
+  {
+    "title": "Quick Start",
+    "children": [
+      {
+        "title": "Quick Start",
+        "children": [],
+        "location": [
+          "Quick Start",
+          "Quick Start"
+        ],
+        "key": "/guide/start/quick-start"
+      },
+      {
+        "title": "Docker Deployment",
+        "children": [],
+        "location": [
+          "Quick Start",
+          "Docker Deployment"
+        ],
+        "key": "/guide/start/docker"
+      }
+    ],
+    "location": [
+      "Quick Start"
+    ],
+    "key": "/quick-start_menu"
+  },
+  {
+    "title": "Introduction to Functions",
+    "children": [
+      {
+        "title": "Application Homepage",
+        "children": [],
+        "location": [
+          "Introduction to Functions",
+          "Application Homepage"
+        ],
+        "key": "/guide/homepage"
+      },
+      {
+        "title": "Project",
+        "children": [
+          {
+            "title": "Project List",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Project",
+              "Project List"
+            ],
+            "key": "/guide/project/project-list"
+          },
+          {
+            "title": "Workflow Definition",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Project",
+              "Workflow Definition"
+            ],
+            "key": "/guide/project/workflow-definition"
+          },
+          {
+            "title": "Workflow Instance",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Project",
+              "Workflow Instance"
+            ],
+            "key": "/guide/project/workflow-instance"
+          },
+          {
+            "title": "Task Instance",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Project",
+              "Task Instance"
+            ],
+            "key": "/guide/project/task-instance"
+          }
+        ],
+        "location": [
+          "Introduction to Functions",
+          "Project"
+        ],
+        "key": "/introduction-to-functions_menu/project_menu"
+      },
+      {
+        "title": "Task",
+        "children": [
+          {
+            "title": "Appendix",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Appendix"
+            ],
+            "key": "/guide/task/appendix"
+          },
+          {
+            "title": "Shell",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Shell"
+            ],
+            "key": "/guide/task/shell"
+          },
+          {
+            "title": "SubWorkflow",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "SubWorkflow"
+            ],
+            "key": "/guide/task/sub-workflow"
+          },
+          {
+            "title": "Dependent",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Dependent"
+            ],
+            "key": "/guide/task/dependent"
+          },
+          {
+            "title": "Stored Procedure",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Stored Procedure"
+            ],
+            "key": "/guide/task/stored-procedure"
+          },
+          {
+            "title": "SQL",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "SQL"
+            ],
+            "key": "/guide/task/sql"
+          },
+          {
+            "title": "Spark",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Spark"
+            ],
+            "key": "/guide/task/spark"
+          },
+          {
+            "title": "MapReduce",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "MapReduce"
+            ],
+            "key": "/guide/task/map-reduce"
+          },
+          {
+            "title": "Python",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Python"
+            ],
+            "key": "/guide/task/python"
+          },
+          {
+            "title": "Flink",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Flink"
+            ],
+            "key": "/guide/task/flink"
+          },
+          {
+            "title": "HTTP",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "HTTP"
+            ],
+            "key": "/guide/task/http"
+          },
+          {
+            "title": "DataX",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "DataX"
+            ],
+            "key": "/guide/task/datax"
+          },
+          {
+            "title": "Sqoop",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Sqoop"
+            ],
+            "key": "/guide/task/sqoop"
+          },
+          {
+            "title": "Conditions",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Conditions"
+            ],
+            "key": "/guide/task/conditions"
+          },
+          {
+            "title": "Switch",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Switch"
+            ],
+            "key": "/guide/task/switch"
+          },
+          {
+            "title": "SeaTunnel",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "SeaTunnel"
+            ],
+            "key": "/guide/task/seatunnel"
+          },
+          {
+            "title": "Amazon EMR",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Amazon EMR"
+            ],
+            "key": "/guide/task/emr"
+          },
+          {
+            "title": "Apache Zeppelin",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Apache Zeppelin"
+            ],
+            "key": "/guide/task/zeppelin"
+          },
+          {
+            "title": "Jupyter",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Jupyter"
+            ],
+            "key": "/guide/task/jupyter"
+          },
+          {
+            "title": "Hive CLI",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Hive CLI"
+            ],
+            "key": "/guide/task/hive-cli"
+          },
+          {
+            "title": "Kubernetes",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Kubernetes"
+            ],
+            "key": "/guide/task/kubernetes"
+          },
+          {
+            "title": "MLflow",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "MLflow"
+            ],
+            "key": "/guide/task/mlflow"
+          },
+          {
+            "title": "Openmldb",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Openmldb"
+            ],
+            "key": "/guide/task/openmldb"
+          },
+          {
+            "title": "DVC",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "DVC"
+            ],
+            "key": "/guide/task/dvc"
+          },
+          {
+            "title": "Dinky",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Dinky"
+            ],
+            "key": "/guide/task/dinky"
+          },
+          {
+            "title": "Java",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Java"
+            ],
+            "key": "/guide/task/java"
+          },
+          {
+            "title": "SageMaker",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "SageMaker"
+            ],
+            "key": "/guide/task/sagemaker"
+          },
+          {
+            "title": "ChunJun",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "ChunJun"
+            ],
+            "key": "/guide/task/chunjun"
+          },
+          {
+            "title": "Pytorch",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Pytorch"
+            ],
+            "key": "/guide/task/pytorch"
+          },
+          {
+            "title": "Amazon DMS",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Amazon DMS"
+            ],
+            "key": "/guide/task/dms"
+          },
+          {
+            "title": "AWS Datasync",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "AWS Datasync"
+            ],
+            "key": "/guide/task/datasync"
+          },
+          {
+            "title": "Kubeflow",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Kubeflow"
+            ],
+            "key": "/guide/task/kubeflow"
+          },
+          {
+            "title": "Apache Linkis",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Apache Linkis"
+            ],
+            "key": "/guide/task/linkis"
+          },
+          {
+            "title": "Remote Shell",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Task",
+              "Remote Shell"
+            ],
+            "key": "/guide/task/remoteshell"
+          }
+        ],
+        "location": [
+          "Introduction to Functions",
+          "Task"
+        ],
+        "key": "/introduction-to-functions_menu/task_menu"
+      },
+      {
+        "title": "Parameter",
+        "children": [
+          {
+            "title": "Built-in Parameter",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Parameter",
+              "Built-in Parameter"
+            ],
+            "key": "/guide/parameter/built-in"
+          },
+          {
+            "title": "Global Parameter",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Parameter",
+              "Global Parameter"
+            ],
+            "key": "/guide/parameter/global"
+          },
+          {
+            "title": "Local Parameter",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Parameter",
+              "Local Parameter"
+            ],
+            "key": "/guide/parameter/local"
+          },
+          {
+            "title": "Project-level Parameter",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Parameter",
+              "Project-level Parameter"
+            ],
+            "key": "/guide/parameter/project-parameter"
+          },
+          {
+            "title": "Parameter Context",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Parameter",
+              "Parameter Context"
+            ],
+            "key": "/guide/parameter/context"
+          },
+          {
+            "title": "Parameter Priority",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Parameter",
+              "Parameter Priority"
+            ],
+            "key": "/guide/parameter/priority"
+          },
+          {
+            "title": "File Parameter",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Parameter",
+              "File Parameter"
+            ],
+            "key": "/guide/parameter/file-parameter"
+          },
+          {
+            "title": "StartUp Parameter",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Parameter",
+              "StartUp Parameter"
+            ],
+            "key": "/guide/parameter/startup-parameter"
+          }
+        ],
+        "location": [
+          "Introduction to Functions",
+          "Parameter"
+        ],
+        "key": "/introduction-to-functions_menu/parameter_menu"
+      },
+      {
+        "title": "Data Source",
+        "children": [
+          {
+            "title": "MySQL",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "MySQL"
+            ],
+            "key": "/guide/datasource/mysql"
+          },
+          {
+            "title": "PostgreSQL",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "PostgreSQL"
+            ],
+            "key": "/guide/datasource/postgresql"
+          },
+          {
+            "title": "HIVE",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "HIVE"
+            ],
+            "key": "/guide/datasource/hive"
+          },
+          {
+            "title": "SNOWFLAKE",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "SNOWFLAKE"
+            ],
+            "key": "/guide/datasource/snowflake"
+          },
+          {
+            "title": "KYUUBI",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "KYUUBI"
+            ],
+            "key": "/guide/datasource/kyuubi"
+          },
+          {
+            "title": "Spark",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "Spark"
+            ],
+            "key": "/guide/datasource/spark"
+          },
+          {
+            "title": "Presto",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "Presto"
+            ],
+            "key": "/guide/datasource/presto"
+          },
+          {
+            "title": "SQL SERVER",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "SQL SERVER"
+            ],
+            "key": "/guide/datasource/sqlserver"
+          },
+          {
+            "title": "Amazon Redshift",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "Amazon Redshift"
+            ],
+            "key": "/guide/datasource/redshift"
+          },
+          {
+            "title": "ClickHouse",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "ClickHouse"
+            ],
+            "key": "/guide/datasource/clickhouse"
+          },
+          {
+            "title": "IBM DB2",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "IBM DB2"
+            ],
+            "key": "/guide/datasource/db2"
+          },
+          {
+            "title": "Oracle",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "Oracle"
+            ],
+            "key": "/guide/datasource/oracle"
+          },
+          {
+            "title": "Amazon Athena",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "Amazon Athena"
+            ],
+            "key": "/guide/datasource/athena"
+          },
+          {
+            "title": "Azure SQL Database",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "Azure SQL Database"
+            ],
+            "key": "/guide/datasource/azure-sql"
+          },
+          {
+            "title": "Trino",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "Trino"
+            ],
+            "key": "/guide/datasource/trino"
+          },
+          {
+            "title": "StarRocks",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "StarRocks"
+            ],
+            "key": "/guide/datasource/starrocks"
+          },
+          {
+            "title": "DAMENG",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "DAMENG"
+            ],
+            "key": "/guide/datasource/dameng"
+          },
+          {
+            "title": "OceanBase",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "OceanBase"
+            ],
+            "key": "/guide/datasource/oceanbase"
+          },
+          {
+            "title": "SSH",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "SSH"
+            ],
+            "key": "/guide/datasource/ssh"
+          },
+          {
+            "title": "Databend",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "Databend"
+            ],
+            "key": "/guide/datasource/databend"
+          },
+          {
+            "title": "HANA",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "HANA"
+            ],
+            "key": "/guide/datasource/hana"
+          },
+          {
+            "title": "doris",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "doris"
+            ],
+            "key": "/guide/datasource/doris"
+          },
+          {
+            "title": "Vertica",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "Vertica"
+            ],
+            "key": "/guide/datasource/vertica"
+          },
+          {
+            "title": "DolphinDB",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Data Source",
+              "DolphinDB"
+            ],
+            "key": "/guide/datasource/dolphindb"
+          }
+        ],
+        "location": [
+          "Introduction to Functions",
+          "Data Source"
+        ],
+        "key": "/introduction-to-functions_menu/data-source_menu"
+      },
+      {
+        "title": "Alert",
+        "children": [
+          {
+            "title": "Alert Component User Guide ",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Alert",
+              "Alert Component User Guide "
+            ],
+            "key": "/guide/alert/alert_plugin_user_guide"
+          },
+          {
+            "title": "Email",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Alert",
+              "Email"
+            ],
+            "key": "/guide/alert/email"
+          },
+          {
+            "title": "Telegram",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Alert",
+              "Telegram"
+            ],
+            "key": "/guide/alert/telegram"
+          },
+          {
+            "title": "Ding Talk",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Alert",
+              "Ding Talk"
+            ],
+            "key": "/guide/alert/dingtalk"
+          },
+          {
+            "title": "Enterprise Wechat",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Alert",
+              "Enterprise Wechat"
+            ],
+            "key": "/guide/alert/enterprise-wechat"
+          },
+          {
+            "title": "Enterprise Webexteams",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Alert",
+              "Enterprise Webexteams"
+            ],
+            "key": "/guide/alert/enterprise-webexteams"
+          },
+          {
+            "title": "Script",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Alert",
+              "Script"
+            ],
+            "key": "/guide/alert/script"
+          },
+          {
+            "title": "Http",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Alert",
+              "Http"
+            ],
+            "key": "/guide/alert/http"
+          },
+          {
+            "title": "Feishu",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Alert",
+              "Feishu"
+            ],
+            "key": "/guide/alert/feishu"
+          },
+          {
+            "title": "Slack",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Alert",
+              "Slack"
+            ],
+            "key": "/guide/alert/slack"
+          },
+          {
+            "title": "Aliyun Voice",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Alert",
+              "Aliyun Voice"
+            ],
+            "key": "/guide/alert/aliyun-voice"
+          }
+        ],
+        "location": [
+          "Introduction to Functions",
+          "Alert"
+        ],
+        "key": "/introduction-to-functions_menu/alert_menu"
+      },
+      {
+        "title": "Resource",
+        "children": [
+          {
+            "title": "Introduction",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Resource",
+              "Introduction"
+            ],
+            "key": "/guide/resource/intro"
+          },
+          {
+            "title": "Configuration",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Resource",
+              "Configuration"
+            ],
+            "key": "/guide/resource/configuration"
+          },
+          {
+            "title": "File Manage",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Resource",
+              "File Manage"
+            ],
+            "key": "/guide/resource/file-manage"
+          },
+          {
+            "title": "Task Group Manage",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Resource",
+              "Task Group Manage"
+            ],
+            "key": "/guide/resource/task-group"
+          }
+        ],
+        "location": [
+          "Introduction to Functions",
+          "Resource"
+        ],
+        "key": "/introduction-to-functions_menu/resource_menu"
+      },
+      {
+        "title": "Monitor",
+        "children": [],
+        "location": [
+          "Introduction to Functions",
+          "Monitor"
+        ],
+        "key": "/guide/monitor"
+      },
+      {
+        "title": "Security",
+        "children": [
+          {
+            "title": "Security (Authorization System)",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Security",
+              "Security (Authorization System)"
+            ],
+            "key": "/guide/security/security"
+          },
+          {
+            "title": "Authentication Type",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Security",
+              "Authentication Type"
+            ],
+            "key": "/guide/security/authentication-type"
+          }
+        ],
+        "location": [
+          "Introduction to Functions",
+          "Security"
+        ],
+        "key": "/introduction-to-functions_menu/security_menu"
+      },
+      {
+        "title": "Metrics",
+        "children": [
+          {
+            "title": "Metrics",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Metrics",
+              "Metrics"
+            ],
+            "key": "/guide/metrics/metrics"
+          }
+        ],
+        "location": [
+          "Introduction to Functions",
+          "Metrics"
+        ],
+        "key": "/introduction-to-functions_menu/metrics_menu"
+      },
+      {
+        "title": "Remote Logging",
+        "children": [],
+        "location": [
+          "Introduction to Functions",
+          "Remote Logging"
+        ],
+        "key": "/guide/remote-logging"
+      },
+      {
+        "title": "Upgrade",
+        "children": [
+          {
+            "title": "Incompatible",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Upgrade",
+              "Incompatible"
+            ],
+            "key": "/guide/upgrade/incompatible"
+          },
+          {
+            "title": "Upgrade",
+            "children": [],
+            "location": [
+              "Introduction to Functions",
+              "Upgrade",
+              "Upgrade"
+            ],
+            "key": "/guide/upgrade/upgrade"
+          }
+        ],
+        "location": [
+          "Introduction to Functions",
+          "Upgrade"
+        ],
+        "key": "/introduction-to-functions_menu/upgrade_menu"
+      },
+      {
+        "title": "Expansion and Reduction",
+        "children": [],
+        "location": [
+          "Introduction to Functions",
+          "Expansion and Reduction"
+        ],
+        "key": "/guide/expansion-reduction"
+      },
+      {
+        "title": "Demo",
+        "children": [],
+        "location": [
+          "Introduction to Functions",
+          "Demo"
+        ],
+        "key": "/guide/demo"
+      }
+    ],
+    "location": [
+      "Introduction to Functions"
+    ],
+    "key": "/introduction-to-functions_menu"
+  },
+  {
+    "title": "Installation",
+    "children": [
+      {
+        "title": "Standalone Deployment",
+        "children": [],
+        "location": [
+          "Installation",
+          "Standalone Deployment"
+        ],
+        "key": "/guide/installation/standalone"
+      },
+      {
+        "title": "Pseudo Cluster Deployment",
+        "children": [],
+        "location": [
+          "Installation",
+          "Pseudo Cluster Deployment"
+        ],
+        "key": "/guide/installation/pseudo-cluster"
+      },
+      {
+        "title": "Cluster Deployment",
+        "children": [],
+        "location": [
+          "Installation",
+          "Cluster Deployment"
+        ],
+        "key": "/guide/installation/cluster"
+      },
+      {
+        "title": "Kubernetes Deployment",
+        "children": [],
+        "location": [
+          "Installation",
+          "Kubernetes Deployment"
+        ],
+        "key": "/guide/installation/kubernetes"
+      },
+      {
+        "title": "General Setting",
+        "children": [],
+        "location": [
+          "Installation",
+          "General Setting"
+        ],
+        "key": "/guide/installation/general-setting"
+      },
+      {
+        "title": "Datasource Setting",
+        "children": [],
+        "location": [
+          "Installation",
+          "Datasource Setting"
+        ],
+        "key": "/guide/installation/datasource-setting"
+      },
+      {
+        "title": "integration",
+        "children": [
+          {
+            "title": "Rainbond Deployment",
+            "children": [],
+            "location": [
+              "Installation",
+              "integration",
+              "Rainbond Deployment"
+            ],
+            "key": "/guide/integration/rainbond"
+          }
+        ],
+        "location": [
+          "Installation",
+          "integration"
+        ],
+        "key": "/installation_menu/integration_menu"
+      }
+    ],
+    "location": [
+      "Installation"
+    ],
+    "key": "/installation_menu"
+  },
+  {
+    "title": "Architecture Guide",
+    "children": [
+      {
+        "title": "Architecture Design",
+        "children": [],
+        "location": [
+          "Architecture Guide",
+          "Architecture Design"
+        ],
+        "key": "/architecture/design"
+      },
+      {
+        "title": "Metadata",
+        "children": [],
+        "location": [
+          "Architecture Guide",
+          "Metadata"
+        ],
+        "key": "/architecture/metadata"
+      },
+      {
+        "title": "Configuration File",
+        "children": [],
+        "location": [
+          "Architecture Guide",
+          "Configuration File"
+        ],
+        "key": "/architecture/configuration"
+      },
+      {
+        "title": "Task Structure",
+        "children": [],
+        "location": [
+          "Architecture Guide",
+          "Task Structure"
+        ],
+        "key": "/architecture/task-structure"
+      },
+      {
+        "title": "Load Balance",
+        "children": [],
+        "location": [
+          "Architecture Guide",
+          "Load Balance"
+        ],
+        "key": "/architecture/load-balance"
+      },
+      {
+        "title": "Cache",
+        "children": [],
+        "location": [
+          "Architecture Guide",
+          "Cache"
+        ],
+        "key": "/architecture/cache"
+      }
+    ],
+    "location": [
+      "Architecture Guide"
+    ],
+    "key": "/architecture-guide_menu"
+  },
+  {
+    "title": "API",
+    "children": [
+      {
+        "title": "Open API",
+        "children": [],
+        "location": [
+          "API",
+          "Open API"
+        ],
+        "key": "/guide/api/open-api"
+      },
+      {
+        "title": "PyDolphinScheduler",
+        "children": [],
+        "location": [
+          "API",
+          "PyDolphinScheduler"
+        ],
+        "key": "/guide/api/pydolphinscheduler"
+      },
+      {
+        "title": "Health Check",
+        "children": [],
+        "location": [
+          "API",
+          "Health Check"
+        ],
+        "key": "/guide/api/healthcheck"
+      }
+    ],
+    "location": [
+      "API"
+    ],
+    "key": "/api_menu"
+  },
+  {
+    "title": "Contribution",
+    "children": [
+      {
+        "title": "Join",
+        "children": [
+          {
+            "title": "Security model",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Join",
+              "Security model"
+            ],
+            "key": "/contribute/join/security-model"
+          },
+          {
+            "title": "Security Report",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Join",
+              "Security Report"
+            ],
+            "key": "/contribute/join/security"
+          },
+          {
+            "title": "How to Become a Committer",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Join",
+              "How to Become a Committer"
+            ],
+            "key": "/contribute/join/become-a-committer"
+          },
+          {
+            "title": "Subscribe Mailing Lists",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Join",
+              "Subscribe Mailing Lists"
+            ],
+            "key": "/contribute/join/subscribe"
+          },
+          {
+            "title": "Participate in Contributing",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Join",
+              "Participate in Contributing"
+            ],
+            "key": "/contribute/join/contribute"
+          },
+          {
+            "title": "Code of Conduct",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Join",
+              "Code of Conduct"
+            ],
+            "key": "/contribute/join/code-conduct"
+          },
+          {
+            "title": "Review Issue or Pull Requests",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Join",
+              "Review Issue or Pull Requests"
+            ],
+            "key": "/contribute/join/review"
+          },
+          {
+            "title": "E2E Contribution Guide",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Join",
+              "E2E Contribution Guide"
+            ],
+            "key": "/contribute/join/e2e-guide"
+          },
+          {
+            "title": "Submit Code",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Join",
+              "Submit Code"
+            ],
+            "key": "/contribute/join/submit-code"
+          },
+          {
+            "title": "License Notice",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Join",
+              "License Notice"
+            ],
+            "key": "/contribute/join/DS-License"
+          },
+          {
+            "title": "Document Notice",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Join",
+              "Document Notice"
+            ],
+            "key": "/contribute/join/document"
+          },
+          {
+            "title": "Issue Notice",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Join",
+              "Issue Notice"
+            ],
+            "key": "/contribute/join/issue"
+          },
+          {
+            "title": "Pull Request Notice",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Join",
+              "Pull Request Notice"
+            ],
+            "key": "/contribute/join/pull-request"
+          },
+          {
+            "title": "Commit Message Notice",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Join",
+              "Commit Message Notice"
+            ],
+            "key": "/contribute/join/commit-message"
+          },
+          {
+            "title": "Micro BenchMark Notice",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Join",
+              "Micro BenchMark Notice"
+            ],
+            "key": "/contribute/join/microbench"
+          },
+          {
+            "title": "Unit Test Writing Guide",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Join",
+              "Unit Test Writing Guide"
+            ],
+            "key": "/contribute/join/unit-test"
+          }
+        ],
+        "location": [
+          "Contribution",
+          "Join"
+        ],
+        "key": "/contribution_menu/join_menu"
+      },
+      {
+        "title": "Development Environment Setup",
+        "children": [],
+        "location": [
+          "Contribution",
+          "Development Environment Setup"
+        ],
+        "key": "/contribute/development-environment-setup"
+      },
+      {
+        "title": "Design Document",
+        "children": [
+          {
+            "title": "Architecture Design",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Design Document",
+              "Architecture Design"
+            ],
+            "key": "/contribute/architecture-design"
+          },
+          {
+            "title": "Alert SPI",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Design Document",
+              "Alert SPI"
+            ],
+            "key": "/contribute/backend/spi/alert"
+          },
+          {
+            "title": "Registry SPI",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Design Document",
+              "Registry SPI"
+            ],
+            "key": "/contribute/backend/spi/registry"
+          },
+          {
+            "title": "Task SPI",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Design Document",
+              "Task SPI"
+            ],
+            "key": "/contribute/backend/spi/task"
+          },
+          {
+            "title": "Datasource SPI",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Design Document",
+              "Datasource SPI"
+            ],
+            "key": "/contribute/backend/spi/datasource"
+          },
+          {
+            "title": "Mechanism Design",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Design Document",
+              "Mechanism Design"
+            ],
+            "key": "/contribute/backend/mechanism/overview"
+          }
+        ],
+        "location": [
+          "Contribution",
+          "Design Document"
+        ],
+        "key": "/contribution_menu/design-document_menu"
+      },
+      {
+        "title": "Guidelines",
+        "children": [
+          {
+            "title": "Frontend Development",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Guidelines",
+              "Frontend Development"
+            ],
+            "key": "/contribute/frontend-development"
+          },
+          {
+            "title": "API Standard",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Guidelines",
+              "API Standard"
+            ],
+            "key": "/contribute/api-standard"
+          },
+          {
+            "title": "E2E Automation Test",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Guidelines",
+              "E2E Automation Test"
+            ],
+            "key": "/contribute/e2e-test"
+          },
+          {
+            "title": "API Automation Test",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Guidelines",
+              "API Automation Test"
+            ],
+            "key": "/contribute/api-test"
+          },
+          {
+            "title": "Log Specification",
+            "children": [],
+            "location": [
+              "Contribution",
+              "Guidelines",
+              "Log Specification"
+            ],
+            "key": "/contribute/log-specification"
+          }
+        ],
+        "location": [
+          "Contribution",
+          "Guidelines"
+        ],
+        "key": "/contribution_menu/guidelines_menu"
+      },
+      {
+        "title": "Releasing",
+        "children": [],
+        "location": [
+          "Contribution",
+          "Releasing"
+        ],
+        "key": "/contribute/release"
+      },
+      {
+        "title": "Questions & Communications",
+        "children": [],
+        "location": [
+          "Contribution",
+          "Questions & Communications"
+        ],
+        "key": "/contribute/have-questions"
+      }
+    ],
+    "location": [
+      "Contribution"
+    ],
+    "key": "/contribution_menu"
+  },
+  {
+    "title": "DSIP",
+    "children": [
+      {
+        "title": "DSIP",
+        "children": [],
+        "location": [
+          "DSIP",
+          "DSIP"
+        ],
+        "key": "/DSIP"
+      }
+    ],
+    "location": [
+      "DSIP"
+    ],
+    "key": "/dsip_menu"
+  }
+]
\ No newline at end of file
diff --git a/fetch/doc/zh-cn/3.3.2.json b/fetch/doc/zh-cn/3.3.2.json
new file mode 100644
index 0000000000..9bf9b49869
--- /dev/null
+++ b/fetch/doc/zh-cn/3.3.2.json
@@ -0,0 +1,1614 @@
+[
+  {
+    "title": "关于Apache DolphinScheduler",
+    "children": [
+      {
+        "title": "简介",
+        "children": [],
+        "location": [
+          "关于Apache DolphinScheduler",
+          "简介"
+        ],
+        "key": "/about/introduction"
+      },
+      {
+        "title": "特性",
+        "children": [],
+        "location": [
+          "关于Apache DolphinScheduler",
+          "特性"
+        ],
+        "key": "/about/features"
+      },
+      {
+        "title": "建议配置",
+        "children": [],
+        "location": [
+          "关于Apache DolphinScheduler",
+          "建议配置"
+        ],
+        "key": "/about/hardware"
+      },
+      {
+        "title": "名词解释",
+        "children": [],
+        "location": [
+          "关于Apache DolphinScheduler",
+          "名词解释"
+        ],
+        "key": "/about/glossary"
+      }
+    ],
+    "location": [
+      "关于Apache DolphinScheduler"
+    ],
+    "key": "/关于apache-dolphinscheduler_menu"
+  },
+  {
+    "title": "快速上手",
+    "children": [
+      {
+        "title": "快速上手",
+        "children": [],
+        "location": [
+          "快速上手",
+          "快速上手"
+        ],
+        "key": "/guide/start/quick-start"
+      },
+      {
+        "title": "Docker部署(Docker)",
+        "children": [],
+        "location": [
+          "快速上手",
+          "Docker部署(Docker)"
+        ],
+        "key": "/guide/start/docker"
+      }
+    ],
+    "location": [
+      "快速上手"
+    ],
+    "key": "/快速上手_menu"
+  },
+  {
+    "title": "功能介绍",
+    "children": [
+      {
+        "title": "应用首页",
+        "children": [],
+        "location": [
+          "功能介绍",
+          "应用首页"
+        ],
+        "key": "/guide/homepage"
+      },
+      {
+        "title": "项目管理",
+        "children": [
+          {
+            "title": "项目列表",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "项目管理",
+              "项目列表"
+            ],
+            "key": "/guide/project/project-list"
+          },
+          {
+            "title": "工作流定义",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "项目管理",
+              "工作流定义"
+            ],
+            "key": "/guide/project/workflow-definition"
+          },
+          {
+            "title": "工作流实例",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "项目管理",
+              "工作流实例"
+            ],
+            "key": "/guide/project/workflow-instance"
+          },
+          {
+            "title": "任务实例",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "项目管理",
+              "任务实例"
+            ],
+            "key": "/guide/project/task-instance"
+          }
+        ],
+        "location": [
+          "功能介绍",
+          "项目管理"
+        ],
+        "key": "/功能介绍_menu/项目管理_menu"
+      },
+      {
+        "title": "任务类型",
+        "children": [
+          {
+            "title": "Appendix",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Appendix"
+            ],
+            "key": "/guide/task/appendix"
+          },
+          {
+            "title": "Shell",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Shell"
+            ],
+            "key": "/guide/task/shell"
+          },
+          {
+            "title": "SubWorkflow",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "SubWorkflow"
+            ],
+            "key": "/guide/task/sub-workflow"
+          },
+          {
+            "title": "Dependent",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Dependent"
+            ],
+            "key": "/guide/task/dependent"
+          },
+          {
+            "title": "Stored Procedure",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Stored Procedure"
+            ],
+            "key": "/guide/task/stored-procedure"
+          },
+          {
+            "title": "SQL",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "SQL"
+            ],
+            "key": "/guide/task/sql"
+          },
+          {
+            "title": "Spark",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Spark"
+            ],
+            "key": "/guide/task/spark"
+          },
+          {
+            "title": "MapReduce",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "MapReduce"
+            ],
+            "key": "/guide/task/map-reduce"
+          },
+          {
+            "title": "Python",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Python"
+            ],
+            "key": "/guide/task/python"
+          },
+          {
+            "title": "Flink",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Flink"
+            ],
+            "key": "/guide/task/flink"
+          },
+          {
+            "title": "HTTP",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "HTTP"
+            ],
+            "key": "/guide/task/http"
+          },
+          {
+            "title": "DataX",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "DataX"
+            ],
+            "key": "/guide/task/datax"
+          },
+          {
+            "title": "Sqoop",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Sqoop"
+            ],
+            "key": "/guide/task/sqoop"
+          },
+          {
+            "title": "Conditions",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Conditions"
+            ],
+            "key": "/guide/task/conditions"
+          },
+          {
+            "title": "Switch",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Switch"
+            ],
+            "key": "/guide/task/switch"
+          },
+          {
+            "title": "SeaTunnel",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "SeaTunnel"
+            ],
+            "key": "/guide/task/seatunnel"
+          },
+          {
+            "title": "Amazon EMR",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Amazon EMR"
+            ],
+            "key": "/guide/task/emr"
+          },
+          {
+            "title": "Apache Zeppelin",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Apache Zeppelin"
+            ],
+            "key": "/guide/task/zeppelin"
+          },
+          {
+            "title": "Jupyter",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Jupyter"
+            ],
+            "key": "/guide/task/jupyter"
+          },
+          {
+            "title": "Hive CLI",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Hive CLI"
+            ],
+            "key": "/guide/task/hive-cli"
+          },
+          {
+            "title": "Kubernetes",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Kubernetes"
+            ],
+            "key": "/guide/task/kubernetes"
+          },
+          {
+            "title": "MLflow",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "MLflow"
+            ],
+            "key": "/guide/task/mlflow"
+          },
+          {
+            "title": "Openmldb",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Openmldb"
+            ],
+            "key": "/guide/task/openmldb"
+          },
+          {
+            "title": "DVC",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "DVC"
+            ],
+            "key": "/guide/task/dvc"
+          },
+          {
+            "title": "Dinky",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Dinky"
+            ],
+            "key": "/guide/task/dinky"
+          },
+          {
+            "title": "Java",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Java"
+            ],
+            "key": "/guide/task/java"
+          },
+          {
+            "title": "SageMaker",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "SageMaker"
+            ],
+            "key": "/guide/task/sagemaker"
+          },
+          {
+            "title": "ChunJun",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "ChunJun"
+            ],
+            "key": "/guide/task/chunjun"
+          },
+          {
+            "title": "Pytorch",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Pytorch"
+            ],
+            "key": "/guide/task/pytorch"
+          },
+          {
+            "title": "Amazon DMS",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Amazon DMS"
+            ],
+            "key": "/guide/task/dms"
+          },
+          {
+            "title": "AWS Datasync",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "AWS Datasync"
+            ],
+            "key": "/guide/task/datasync"
+          },
+          {
+            "title": "Kubeflow",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Kubeflow"
+            ],
+            "key": "/guide/task/kubeflow"
+          },
+          {
+            "title": "Apache Linkis",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Apache Linkis"
+            ],
+            "key": "/guide/task/linkis"
+          },
+          {
+            "title": "Remote Shell",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "任务类型",
+              "Remote Shell"
+            ],
+            "key": "/guide/task/remoteshell"
+          }
+        ],
+        "location": [
+          "功能介绍",
+          "任务类型"
+        ],
+        "key": "/功能介绍_menu/任务类型_menu"
+      },
+      {
+        "title": "参数",
+        "children": [
+          {
+            "title": "内置参数",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "参数",
+              "内置参数"
+            ],
+            "key": "/guide/parameter/built-in"
+          },
+          {
+            "title": "全局参数",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "参数",
+              "全局参数"
+            ],
+            "key": "/guide/parameter/global"
+          },
+          {
+            "title": "本地参数",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "参数",
+              "本地参数"
+            ],
+            "key": "/guide/parameter/local"
+          },
+          {
+            "title": "项目级别参数",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "参数",
+              "项目级别参数"
+            ],
+            "key": "/guide/parameter/project-parameter"
+          },
+          {
+            "title": "参数传递",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "参数",
+              "参数传递"
+            ],
+            "key": "/guide/parameter/context"
+          },
+          {
+            "title": "参数优先级",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "参数",
+              "参数优先级"
+            ],
+            "key": "/guide/parameter/priority"
+          },
+          {
+            "title": "文件参数传递",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "参数",
+              "文件参数传递"
+            ],
+            "key": "/guide/parameter/file-parameter"
+          },
+          {
+            "title": "启动参数",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "参数",
+              "启动参数"
+            ],
+            "key": "/guide/parameter/startup-parameter"
+          }
+        ],
+        "location": [
+          "功能介绍",
+          "参数"
+        ],
+        "key": "/功能介绍_menu/参数_menu"
+      },
+      {
+        "title": "数据源中心",
+        "children": [
+          {
+            "title": "MySQL",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "MySQL"
+            ],
+            "key": "/guide/datasource/mysql"
+          },
+          {
+            "title": "PostgreSQL",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "PostgreSQL"
+            ],
+            "key": "/guide/datasource/postgresql"
+          },
+          {
+            "title": "HIVE",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "HIVE"
+            ],
+            "key": "/guide/datasource/hive"
+          },
+          {
+            "title": "SNOWFLAKE",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "SNOWFLAKE"
+            ],
+            "key": "/guide/datasource/snowflake"
+          },
+          {
+            "title": "KYUUBI",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "KYUUBI"
+            ],
+            "key": "/guide/datasource/kyuubi"
+          },
+          {
+            "title": "Spark",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "Spark"
+            ],
+            "key": "/guide/datasource/spark"
+          },
+          {
+            "title": "Amazon Athena",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "Amazon Athena"
+            ],
+            "key": "/guide/datasource/athena"
+          },
+          {
+            "title": "Azure SQL Database",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "Azure SQL Database"
+            ],
+            "key": "/guide/datasource/azure-sql"
+          },
+          {
+            "title": "Redshift",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "Redshift"
+            ],
+            "key": "/guide/datasource/redshift"
+          },
+          {
+            "title": "Oracle",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "Oracle"
+            ],
+            "key": "/guide/datasource/oracle"
+          },
+          {
+            "title": "Trino",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "Trino"
+            ],
+            "key": "/guide/datasource/trino"
+          },
+          {
+            "title": "StarRocks",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "StarRocks"
+            ],
+            "key": "/guide/datasource/starrocks"
+          },
+          {
+            "title": "DAMENG",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "DAMENG"
+            ],
+            "key": "/guide/datasource/dameng"
+          },
+          {
+            "title": "OceanBase",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "OceanBase"
+            ],
+            "key": "/guide/datasource/oceanbase"
+          },
+          {
+            "title": "SSH",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "SSH"
+            ],
+            "key": "/guide/datasource/ssh"
+          },
+          {
+            "title": "Databend",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "Databend"
+            ],
+            "key": "/guide/datasource/databend"
+          },
+          {
+            "title": "HANA",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "HANA"
+            ],
+            "key": "/guide/datasource/hana"
+          },
+          {
+            "title": "Doris",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "Doris"
+            ],
+            "key": "/guide/datasource/doris"
+          },
+          {
+            "title": "Vertica",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "Vertica"
+            ],
+            "key": "/guide/datasource/vertica"
+          },
+          {
+            "title": "DolphinDB",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "数据源中心",
+              "DolphinDB"
+            ],
+            "key": "/guide/datasource/dolphindb"
+          }
+        ],
+        "location": [
+          "功能介绍",
+          "数据源中心"
+        ],
+        "key": "/功能介绍_menu/数据源中心_menu"
+      },
+      {
+        "title": "告警",
+        "children": [
+          {
+            "title": "告警组件向导",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "告警",
+              "告警组件向导"
+            ],
+            "key": "/guide/alert/alert_plugin_user_guide"
+          },
+          {
+            "title": "Email",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "告警",
+              "Email"
+            ],
+            "key": "/guide/alert/email"
+          },
+          {
+            "title": "Telegram",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "告警",
+              "Telegram"
+            ],
+            "key": "/guide/alert/telegram"
+          },
+          {
+            "title": "钉钉告警",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "告警",
+              "钉钉告警"
+            ],
+            "key": "/guide/alert/dingtalk"
+          },
+          {
+            "title": "企业微信",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "告警",
+              "企业微信"
+            ],
+            "key": "/guide/alert/enterprise-wechat"
+          },
+          {
+            "title": "Webexteams",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "告警",
+              "Webexteams"
+            ],
+            "key": "/guide/alert/enterprise-webexteams"
+          },
+          {
+            "title": "脚本告警",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "告警",
+              "脚本告警"
+            ],
+            "key": "/guide/alert/script"
+          },
+          {
+            "title": "Http告警",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "告警",
+              "Http告警"
+            ],
+            "key": "/guide/alert/http"
+          },
+          {
+            "title": "飞书告警",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "告警",
+              "飞书告警"
+            ],
+            "key": "/guide/alert/feishu"
+          },
+          {
+            "title": "Slack告警",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "告警",
+              "Slack告警"
+            ],
+            "key": "/guide/alert/slack"
+          },
+          {
+            "title": "阿里云语音告警",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "告警",
+              "阿里云语音告警"
+            ],
+            "key": "/guide/alert/aliyun-voice"
+          }
+        ],
+        "location": [
+          "功能介绍",
+          "告警"
+        ],
+        "key": "/功能介绍_menu/告警_menu"
+      },
+      {
+        "title": "资源中心",
+        "children": [
+          {
+            "title": "简介",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "资源中心",
+              "简介"
+            ],
+            "key": "/guide/resource/intro"
+          },
+          {
+            "title": "配置详情",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "资源中心",
+              "配置详情"
+            ],
+            "key": "/guide/resource/configuration"
+          },
+          {
+            "title": "文件管理",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "资源中心",
+              "文件管理"
+            ],
+            "key": "/guide/resource/file-manage"
+          },
+          {
+            "title": "任务组管理",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "资源中心",
+              "任务组管理"
+            ],
+            "key": "/guide/resource/task-group"
+          }
+        ],
+        "location": [
+          "功能介绍",
+          "资源中心"
+        ],
+        "key": "/功能介绍_menu/资源中心_menu"
+      },
+      {
+        "title": "监控中心",
+        "children": [],
+        "location": [
+          "功能介绍",
+          "监控中心"
+        ],
+        "key": "/guide/monitor"
+      },
+      {
+        "title": "安全中心",
+        "children": [
+          {
+            "title": "安全中心(权限系统)",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "安全中心",
+              "安全中心(权限系统)"
+            ],
+            "key": "/guide/security/security"
+          },
+          {
+            "title": "认证方式",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "安全中心",
+              "认证方式"
+            ],
+            "key": "/guide/security/authentication-type"
+          }
+        ],
+        "location": [
+          "功能介绍",
+          "安全中心"
+        ],
+        "key": "/功能介绍_menu/安全中心_menu"
+      },
+      {
+        "title": "指标相关",
+        "children": [
+          {
+            "title": "指标",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "指标相关",
+              "指标"
+            ],
+            "key": "/guide/metrics/metrics"
+          }
+        ],
+        "location": [
+          "功能介绍",
+          "指标相关"
+        ],
+        "key": "/功能介绍_menu/指标相关_menu"
+      },
+      {
+        "title": "远程日志存储",
+        "children": [],
+        "location": [
+          "功能介绍",
+          "远程日志存储"
+        ],
+        "key": "/guide/remote-logging"
+      },
+      {
+        "title": "升级",
+        "children": [
+          {
+            "title": "不向前兼容的更新",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "升级",
+              "不向前兼容的更新"
+            ],
+            "key": "/guide/upgrade/incompatible"
+          },
+          {
+            "title": "升级步骤",
+            "children": [],
+            "location": [
+              "功能介绍",
+              "升级",
+              "升级步骤"
+            ],
+            "key": "/guide/upgrade/upgrade"
+          }
+        ],
+        "location": [
+          "功能介绍",
+          "升级"
+        ],
+        "key": "/功能介绍_menu/升级_menu"
+      },
+      {
+        "title": "扩/缩容",
+        "children": [],
+        "location": [
+          "功能介绍",
+          "扩/缩容"
+        ],
+        "key": "/guide/expansion-reduction"
+      },
+      {
+        "title": "Demo",
+        "children": [],
+        "location": [
+          "功能介绍",
+          "Demo"
+        ],
+        "key": "/guide/demo"
+      }
+    ],
+    "location": [
+      "功能介绍"
+    ],
+    "key": "/功能介绍_menu"
+  },
+  {
+    "title": "部署指南",
+    "children": [
+      {
+        "title": "单机部署(Standalone)",
+        "children": [],
+        "location": [
+          "部署指南",
+          "单机部署(Standalone)"
+        ],
+        "key": "/guide/installation/standalone"
+      },
+      {
+        "title": "伪集群部署(Pseudo-Cluster)",
+        "children": [],
+        "location": [
+          "部署指南",
+          "伪集群部署(Pseudo-Cluster)"
+        ],
+        "key": "/guide/installation/pseudo-cluster"
+      },
+      {
+        "title": "集群部署(Cluster)",
+        "children": [],
+        "location": [
+          "部署指南",
+          "集群部署(Cluster)"
+        ],
+        "key": "/guide/installation/cluster"
+      },
+      {
+        "title": "Kubernetes部署(Kubernetes)",
+        "children": [],
+        "location": [
+          "部署指南",
+          "Kubernetes部署(Kubernetes)"
+        ],
+        "key": "/guide/installation/kubernetes"
+      },
+      {
+        "title": "通用设置",
+        "children": [],
+        "location": [
+          "部署指南",
+          "通用设置"
+        ],
+        "key": "/guide/installation/general-setting"
+      },
+      {
+        "title": "数据源设置",
+        "children": [],
+        "location": [
+          "部署指南",
+          "数据源设置"
+        ],
+        "key": "/guide/installation/datasource-setting"
+      },
+      {
+        "title": "集成",
+        "children": [
+          {
+            "title": "基于Rainbond部署(Cluster)",
+            "children": [],
+            "location": [
+              "部署指南",
+              "集成",
+              "基于Rainbond部署(Cluster)"
+            ],
+            "key": "/guide/integration/rainbond"
+          }
+        ],
+        "location": [
+          "部署指南",
+          "集成"
+        ],
+        "key": "/部署指南_menu/集成_menu"
+      }
+    ],
+    "location": [
+      "部署指南"
+    ],
+    "key": "/部署指南_menu"
+  },
+  {
+    "title": "架构设计",
+    "children": [
+      {
+        "title": "元数据文档",
+        "children": [],
+        "location": [
+          "架构设计",
+          "元数据文档"
+        ],
+        "key": "/architecture/metadata"
+      },
+      {
+        "title": "架构设计",
+        "children": [],
+        "location": [
+          "架构设计",
+          "架构设计"
+        ],
+        "key": "/architecture/design"
+      },
+      {
+        "title": "配置文件",
+        "children": [],
+        "location": [
+          "架构设计",
+          "配置文件"
+        ],
+        "key": "/architecture/configuration"
+      },
+      {
+        "title": "任务结构",
+        "children": [],
+        "location": [
+          "架构设计",
+          "任务结构"
+        ],
+        "key": "/architecture/task-structure"
+      },
+      {
+        "title": "负载均衡",
+        "children": [],
+        "location": [
+          "架构设计",
+          "负载均衡"
+        ],
+        "key": "/architecture/load-balance"
+      },
+      {
+        "title": "缓存",
+        "children": [],
+        "location": [
+          "架构设计",
+          "缓存"
+        ],
+        "key": "/architecture/cache"
+      }
+    ],
+    "location": [
+      "架构设计"
+    ],
+    "key": "/架构设计_menu"
+  },
+  {
+    "title": "API",
+    "children": [
+      {
+        "title": "API调用",
+        "children": [],
+        "location": [
+          "API",
+          "API调用"
+        ],
+        "key": "/guide/api/open-api"
+      },
+      {
+        "title": "PyDolphinScheduler",
+        "children": [],
+        "location": [
+          "API",
+          "PyDolphinScheduler"
+        ],
+        "key": "/guide/api/pydolphinscheduler"
+      },
+      {
+        "title": "健康检查",
+        "children": [],
+        "location": [
+          "API",
+          "健康检查"
+        ],
+        "key": "/guide/api/healthcheck"
+      }
+    ],
+    "location": [
+      "API"
+    ],
+    "key": "/api_menu"
+  },
+  {
+    "title": "贡献指南",
+    "children": [
+      {
+        "title": "如何参与",
+        "children": [
+          {
+            "title": "安全模型",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "如何参与",
+              "安全模型"
+            ],
+            "key": "/contribute/join/security-model"
+          },
+          {
+            "title": "报告安全问题",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "如何参与",
+              "报告安全问题"
+            ],
+            "key": "/contribute/join/security"
+          },
+          {
+            "title": "如何成为 Committer",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "如何参与",
+              "如何成为 Committer"
+            ],
+            "key": "/contribute/join/become-a-committer"
+          },
+          {
+            "title": "订阅/取消订阅邮件列表",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "如何参与",
+              "订阅/取消订阅邮件列表"
+            ],
+            "key": "/contribute/join/subscribe"
+          },
+          {
+            "title": "参与贡献",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "如何参与",
+              "参与贡献"
+            ],
+            "key": "/contribute/join/contribute"
+          },
+          {
+            "title": "行为准则",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "如何参与",
+              "行为准则"
+            ],
+            "key": "/contribute/join/code-conduct"
+          },
+          {
+            "title": "Review Issue or Pull Requests",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "如何参与",
+              "Review Issue or Pull Requests"
+            ],
+            "key": "/contribute/join/review"
+          },
+          {
+            "title": "E2E Contribution Guide",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "如何参与",
+              "E2E Contribution Guide"
+            ],
+            "key": "/contribute/join/e2e-guide"
+          },
+          {
+            "title": "提交代码",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "如何参与",
+              "提交代码"
+            ],
+            "key": "/contribute/join/submit-code"
+          },
+          {
+            "title": "License须知",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "如何参与",
+              "License须知"
+            ],
+            "key": "/contribute/join/DS-License"
+          },
+          {
+            "title": "文档须知",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "如何参与",
+              "文档须知"
+            ],
+            "key": "/contribute/join/document"
+          },
+          {
+            "title": "Issue须知",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "如何参与",
+              "Issue须知"
+            ],
+            "key": "/contribute/join/issue"
+          },
+          {
+            "title": "Pull Request须知",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "如何参与",
+              "Pull Request须知"
+            ],
+            "key": "/contribute/join/pull-request"
+          },
+          {
+            "title": "Commit Message须知",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "如何参与",
+              "Commit Message须知"
+            ],
+            "key": "/contribute/join/commit-message"
+          },
+          {
+            "title": "微基准测试须知",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "如何参与",
+              "微基准测试须知"
+            ],
+            "key": "/contribute/join/microbench"
+          },
+          {
+            "title": "单元测试编写指南",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "如何参与",
+              "单元测试编写指南"
+            ],
+            "key": "/contribute/join/unit-test"
+          }
+        ],
+        "location": [
+          "贡献指南",
+          "如何参与"
+        ],
+        "key": "/贡献指南_menu/如何参与_menu"
+      },
+      {
+        "title": "环境搭建",
+        "children": [],
+        "location": [
+          "贡献指南",
+          "环境搭建"
+        ],
+        "key": "/contribute/development-environment-setup"
+      },
+      {
+        "title": "设计文档",
+        "children": [
+          {
+            "title": "架构设计",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "设计文档",
+              "架构设计"
+            ],
+            "key": "/contribute/architecture-design"
+          },
+          {
+            "title": "Alert SPI",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "设计文档",
+              "Alert SPI"
+            ],
+            "key": "/contribute/backend/spi/alert"
+          },
+          {
+            "title": "Registry SPI",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "设计文档",
+              "Registry SPI"
+            ],
+            "key": "/contribute/backend/spi/registry"
+          },
+          {
+            "title": "Task SPI",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "设计文档",
+              "Task SPI"
+            ],
+            "key": "/contribute/backend/spi/task"
+          },
+          {
+            "title": "Datasource SPI",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "设计文档",
+              "Datasource SPI"
+            ],
+            "key": "/contribute/backend/spi/datasource"
+          },
+          {
+            "title": "组件设计",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "设计文档",
+              "组件设计"
+            ],
+            "key": "/contribute/backend/mechanism/overview"
+          }
+        ],
+        "location": [
+          "贡献指南",
+          "设计文档"
+        ],
+        "key": "/贡献指南_menu/设计文档_menu"
+      },
+      {
+        "title": "规范",
+        "children": [
+          {
+            "title": "前端开发",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "规范",
+              "前端开发"
+            ],
+            "key": "/contribute/frontend-development"
+          },
+          {
+            "title": "API规范",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "规范",
+              "API规范"
+            ],
+            "key": "/contribute/api-standard"
+          },
+          {
+            "title": "E2E 自动化测试",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "规范",
+              "E2E 自动化测试"
+            ],
+            "key": "/contribute/e2e-test"
+          },
+          {
+            "title": "API 自动化测试",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "规范",
+              "API 自动化测试"
+            ],
+            "key": "/contribute/api-test"
+          },
+          {
+            "title": "日志规范",
+            "children": [],
+            "location": [
+              "贡献指南",
+              "规范",
+              "日志规范"
+            ],
+            "key": "/contribute/log-specification"
+          }
+        ],
+        "location": [
+          "贡献指南",
+          "规范"
+        ],
+        "key": "/贡献指南_menu/规范_menu"
+      },
+      {
+        "title": "发版",
+        "children": [],
+        "location": [
+          "贡献指南",
+          "发版"
+        ],
+        "key": "/contribute/release"
+      },
+      {
+        "title": "问题与交流",
+        "children": [],
+        "location": [
+          "贡献指南",
+          "问题与交流"
+        ],
+        "key": "/contribute/have-questions"
+      }
+    ],
+    "location": [
+      "贡献指南"
+    ],
+    "key": "/贡献指南_menu"
+  },
+  {
+    "title": "DSIP",
+    "children": [
+      {
+        "title": "DSIP",
+        "children": [],
+        "location": [
+          "DSIP",
+          "DSIP"
+        ],
+        "key": "/DSIP"
+      }
+    ],
+    "location": [
+      "DSIP"
+    ],
+    "key": "/dsip_menu"
+  }
+]
\ No newline at end of file
diff --git a/fetch/download.json b/fetch/download.json
index a6a91e060d..ef0572e381 100644
--- a/fetch/download.json
+++ b/fetch/download.json
@@ -1,4 +1,23 @@
 {
+  "3.3.2": {
+    "time": "2025-10-30",
+    "src": {
+      "src": "https://dlcdn.apache.org/dolphinscheduler/3.3.2/apache-dolphinscheduler-3.3.2-src.tar.gz",
+      "asc": "https://dlcdn.apache.org/dolphinscheduler/3.3.2/apache-dolphinscheduler-3.3.2-src.tar.gz.asc",
+      "sha512": "https://dlcdn.apache.org/dolphinscheduler/3.3.2/apache-dolphinscheduler-3.3.2-src.tar.gz.sha512"
+    },
+    "bin": {
+      "src": "https://dlcdn.apache.org/dolphinscheduler/3.3.2/apache-dolphinscheduler-3.3.2-bin.tar.gz",
+      "asc": "https://dlcdn.apache.org/dolphinscheduler/3.3.2/apache-dolphinscheduler-3.3.2-bin.tar.gz.asc",
+      "sha512": "https://dlcdn.apache.org/dolphinscheduler/3.3.2/apache-dolphinscheduler-3.3.2-bin.tar.gz.sha512"
+    },
+    "deployment": [
+      "Standalone",
+      "Pseudo Cluster",
+      "Cluster",
+      "Kubernetes"
+    ]
+  },
   "3.3.1": {
     "time": "2025-8-24",
     "src": {
diff --git a/fetch/faq/en-us/3.3.2.json b/fetch/faq/en-us/3.3.2.json
new file mode 100644
index 0000000000..aee5b29731
--- /dev/null
+++ b/fetch/faq/en-us/3.3.2.json
@@ -0,0 +1,234 @@
+[
+  {
+    "q": "<h2>Q: What's the name of this project?</h2>",
+    "a": "\n<p>A: DolphinScheduler</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q: DolphinScheduler service introduction and recommended running memory</h2>",
+    "a": "\n<p>A: DolphinScheduler consists of 5 services, MasterServer, WorkerServer, ApiServer, AlertServer, LoggerServer and UI.</p>\n<table>\n<thead>\n<tr>\n<th>Service</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>MasterServer</td>\n<td>Mainly responsible for DAG segmentation and task status monitoring</td>\n</tr>\n<tr>\n<td>WorkerServer/LoggerServer</td>\n<td>Mainly responsible for the submission, execution and update of task status. LoggerServer is used for Rest  [...]
+  },
+  {
+    "q": "<h2>Q: Which mailboxes does the system support?</h2>",
+    "a": "\n<p>A: Support most mailboxes, qq, 163, 126, 139, outlook, aliyun, etc. are supported. Support TLS and SSL protocols, these can be configured in the ui of dolphinscheduler:\n<a href=\"../en/guide/alert/email.md\">How to setup email alarm</a>.</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q: What are the common system variable time parameters and how do I use them?</h2>",
+    "a": "\n<p>A: Please refer to 'System parameter' in the system-manual</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q: pip install kazoo This installation gives an error. Is it necessary to install?</h2>",
+    "a": "\n<p>A: This is the python connection Zookeeper needs to use, it is used to delete the master/worker temporary node info in the Zookeeper. so you can ignore error if it's your first install. after version 1.3.0, kazoo is not been needed, we use program to replace what kazoo done</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q: How to specify the machine running task</h2>",
+    "a": "\n<p>A: version 1.2 and before, Use <strong>the administrator</strong> to create a Worker group, <strong>specify the Worker group</strong> when the <strong>process definition starts</strong>, or <strong>specify the Worker group on the task node</strong>. If not specified, use Default, <strong>Default is to select one of all the workers in the cluster to use for task submission and execution.</strong>\nversion 1.3, you can set worker group for the worker</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q: Priority of the task</h2>",
+    "a": "\n<p>A: We also support <strong>the priority of processes and tasks</strong>. Priority We have five levels of <strong>HIGHEST, HIGH, MEDIUM, LOW and LOWEST</strong>. <strong>You can set the priority between different process instances, or you can set the priority of different task instances in the same process instance.</strong> For details, please refer to the task priority design in the architecture-design.</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q: dolphinscheduler-grpc gives an error</h2>",
+    "a": "\n<p>A: Execute in the root directory: mvn -U clean package assembly:assembly -Dmaven.test.skip=true , then refresh the entire project.\nversion 1.3 not use grpc, we use netty directly</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q: Does DolphinScheduler support running on windows?</h2>",
+    "a": "\n<p>A: In theory, <strong>only the Worker needs to run on Linux</strong>. Other services can run normally on Windows. But it is still recommended to deploy on Linux.</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q: UI compiles node-sass prompt in linux: Error: EACCESS: permission denied, mkdir xxxx</h2>",
+    "a": "\n<p>A: Install <strong>npm install node-sass --unsafe-perm</strong> separately, then <strong>npm install</strong></p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q: UI cannot log in normally.</h2>",
+    "a": "\n<p>A: 1, if it is node startup, check whether the .env API_BASE configuration under dolphinscheduler-ui is the Api Server service address.</p>\n<p>​ 2, If it is nginx booted and installed via <strong>install-dolphinscheduler-ui.sh</strong>, check if the proxy_pass configuration in <strong>/etc/nginx/conf.d/dolphinscheduler.conf</strong> is the Api Server service address</p>\n<p>​ 3, if the above configuration is correct, then please check if the Api Server service is normal,< [...]
+  },
+  {
+    "q": "<h2>Q: After the process definition is manually started or scheduled, no process instance is generated.</h2>",
+    "a": "\n<p>A: 1, first <strong>check whether the MasterServer service exists through jps</strong>, or directly check whether there is a master service in zk from the service monitoring.</p>\n<p>​ 2,If there is a master service, check <strong>the command status statistics</strong> or whether new records are added in <strong>t_ds_error_command</strong>. If it is added, <strong>please check the message field.</strong></p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q : The task status is always in the successful submission status.</h2>",
+    "a": "\n<p>A: 1, <strong>first check whether the WorkerServer service exists through jps</strong>, or directly check whether there is a worker service in zk from the service monitoring.</p>\n<p>​ 2,If the <strong>WorkerServer</strong> service is normal, you need to <strong>check whether the MasterServer puts the task in the zk queue. You need to check whether the task is blocked in the MasterServer log and the zk queue.</strong></p>\n<p>​ 3, if there is no problem above, you need to  [...]
+  },
+  {
+    "q": "<h2>Q: Is there a Docker image and a Dockerfile?</h2>",
+    "a": "\n<p>A: Provide Docker image and Dockerfile.</p>\n<p>Docker image address: https://hub.docker.com/r/apache/dolphinscheduler</p>\n<p>Dockerfile address: https://github.com/apache/dolphinscheduler/tree/dev/dolphinscheduler-dist/src/main/docker</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q : Need to pay attention to the problem in install.sh</h2>",
+    "a": "\n<p>A: 1, if the replacement variable contains special characters, <strong>use the \\ transfer character to transfer</strong></p>\n<p>​ 2, installPath=&quot;/data1_1T/dolphinscheduler&quot;, <strong>this directory can not be the same as the install.sh directory currently installed with one click.</strong></p>\n<p>​ 3, deployUser = &quot;dolphinscheduler&quot;, <strong>the deployment user must have sudo privileges</strong>, because the worker is executed by sudo -u tenant sh xx [...]
+  },
+  {
+    "q": "<h2>Q : Process definition and process instance offline exception</h2>",
+    "a": "\n<p>A : For <strong>versions prior to 1.0.4</strong>, modify the code under the escheduler-api cn.escheduler.api.quartz package.</p>\n<pre><code>public boolean deleteJob(String jobName, String jobGroupName) {\n    lock.writeLock().lock();\n    try {\n      JobKey jobKey = new JobKey(jobName,jobGroupName);\n      if(scheduler.checkExists(jobKey)){\n        logger.info(&quot;try to delete job, job name: {}, job group name: {},&quot;, jobName, jobGroupName);\n        return sched [...]
+  },
+  {
+    "q": "<h2>Q: Can the tenant created before the HDFS startup use the resource center normally?</h2>",
+    "a": "\n<p>A: No. Because the tenant created by HDFS is not started, the tenant directory will not be registered in HDFS. So the last resource will report an error.</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q: In the multi-master and multi-worker state, the service is lost, how to be fault-tolerant</h2>",
+    "a": "\n<p>A: <strong>Note:</strong> <strong>Master monitors Master and Worker services.</strong></p>\n<p>​ 1,If the Master service is lost, other Masters will take over the process of the hanged Master and continue to monitor the Worker task status.</p>\n<p>​ 2,If the Worker service is lost, the Master will monitor that the Worker service is gone. If there is a Yarn task, the Kill Yarn task will be retried.</p>\n<p>Please see the fault-tolerant design in the architecture for details [...]
+  },
+  {
+    "q": "<h2>Q : Fault tolerance for a machine distributed by Master and Worker</h2>",
+    "a": "\n<p>A: The 1.0.3 version only implements the fault tolerance of the Master startup process, and does not take the Worker Fault Tolerance. That is to say, if the Worker hangs, no Master exists. There will be problems with this process. We will add Master and Worker startup fault tolerance in version <strong>1.1.0</strong> to fix this problem. If you want to manually modify this problem, you need to <strong>modify the running task for the running worker task that is running the  [...]
+  },
+  {
+    "q": "<h2>Q : Timing is easy to set to execute every second</h2>",
+    "a": "\n<p>A : Note when setting the timing. If the first digit (* * * * _ ? _) is set to *, it means execution every second. <strong>We will add a list of recently scheduled times in version 1.1.0.</strong> You can see the last 5 running times online at http://cron.qqe2.com/</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q: Is there a valid time range for timing?</h2>",
+    "a": "\n<p>A: Yes, <strong>if the timing start and end time is the same time, then this timing will be invalid timing. If the end time of the start and end time is smaller than the current time, it is very likely that the timing will be automatically deleted.</strong></p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q : There are several implementations of task dependencies</h2>",
+    "a": "\n<p>A: 1, the task dependency between <strong>DAG</strong>, is <strong>from the zero degree</strong> of the DAG segmentation</p>\n<p>​ 2, there are <strong>task dependent nodes</strong>, you can achieve cross-process tasks or process dependencies, please refer to the (DEPENDENT) node design in the system-manual.</p>\n<p>​ Note: <strong>Cross-project processes or task dependencies are not supported</strong></p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q: There are several ways to start the process definition.</h2>",
+    "a": "\n<p>A: 1, in <strong>the process definition list</strong>, click the <strong>Start</strong> button.</p>\n<p>​ 2, <strong>the process definition list adds a timer</strong>, scheduling start process definition.</p>\n<p>​ 3, process definition <strong>view or edit</strong> the DAG page, any <strong>task node right click</strong> Start process definition.</p>\n<p>​ 4, you can define DAG editing for the process, set the running flag of some tasks to <strong>prohibit running</strong [...]
+  },
+  {
+    "q": "<h2>Q : Python task setting Python version</h2>",
+    "a": "\n<p>A: 1,<strong>for the version after 1.0.3</strong> only need to modify <code>$PYTHON_LAUNCHER</code> in <code>bin/env/dolphinscheduler_env.sh</code></p>\n<pre><code>export PYTHON_LAUNCHER=/bin/python/bin/python3\n</code></pre>\n<p>Note: This is <strong>PYTHON_LAUNCHER</strong> , which is the absolute path of the python command, not the simple PYTHON_LAUNCHER. Also note that when exporting the PATH, you need to directly</p>\n<pre><code>export PATH=$HADOOP_HOME/bin:$SPARK_HOM [...]
+  },
+  {
+    "q": "<h2>Q:Worker Task will generate a child process through sudo -u tenant sh xxx.command, will kill when kill</h2>",
+    "a": "\n<p>A: We will add the kill task in 1.0.4 and kill all the various child processes generated by the task.</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q : How to use the queue in DolphinScheduler, what does the user queue and tenant queue mean?</h2>",
+    "a": "\n<p>A : The queue in the DolphinScheduler can be configured on the user or the tenant. <strong>The priority of the queue specified by the user is higher than the priority of the tenant queue.</strong> For example, to specify a queue for an MR task, the queue is specified by mapreduce.job.queuename.</p>\n<p>Note: When using the above method to specify the queue, the MR uses the following methods:</p>\n<pre><code>   Configuration conf = new Configuration();\nGenericOptionsParser [...]
+  },
+  {
+    "q": "<h2>Q : Master or Worker reports the following alarm</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://analysys.github.io/easyscheduler_docs/images/master_worker_lack_res.png\" width=\"60%\" />\n </p>\n<p>A : Change the value of master.properties <strong>master.reserved.memory</strong> under conf to a smaller value, say 0.1 or the value of worker.properties <strong>worker.reserved.memory</strong> is a smaller value, say 0.1</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q: The hive version is 1.1.0+cdh5.15.0, and the SQL hive task connection is reported incorrectly.</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://analysys.github.io/easyscheduler_docs/images/cdh_hive_error.png\" width=\"60%\" />\n </p>\n<p>A : Will hive pom</p>\n<pre><code>&lt;dependency&gt;\n    &lt;groupId&gt;org.apache.hive&lt;/groupId&gt;\n    &lt;artifactId&gt;hive-jdbc&lt;/artifactId&gt;\n    &lt;version&gt;2.3.9&lt;/version&gt;\n&lt;/dependency&gt;\n</code></pre>\n<p>change into</p>\n<pre><code>&lt;dependency&gt;\n    &lt;groupId&gt;org.apache.hive&lt;/groupId&gt;\n    [...]
+  },
+  {
+    "q": "<h2>Q : how to add a worker server</h2>",
+    "a": "\n<p>A: 1, Create deployment user and hosts mapping, please refer 1.3 part of <a href=\"https://dolphinscheduler.apache.org/en-us/docs/3.1.2/user_doc/installation/cluster\">cluster deployment</a></p>\n<p>​ 2, Configure hosts mapping and ssh access and modify directory permissions. please refer 1.4 part of <a href=\"https://dolphinscheduler.apache.org/en-us/docs/3.1.2/user_doc/installation/cluster\">cluster deployment</a></p>\n<p>​ 3, Copy the deployment directory from worker se [...]
+  },
+  {
+    "q": "<h2>Q : When DolphinScheduler release a new version, and the change between current version and latest, and how to upgrade, and version number specification</h2>",
+    "a": "\n<p>A: 1, The release process of Apache Project happens in the mailing list. You can subscribe DolphinScheduler's mailing list and then when the release is in process, you'll receive release emails. Please follow this <a href=\"https://github.com/apache/dolphinscheduler#get-help\">introduction</a> to subscribe DolphinScheduler's mailing list.</p>\n<p>2, When new version published, there would be release note which describe the change log, and there also have upgrade document f [...]
+  },
+  {
+    "q": "<h2>Q : Subsequent tasks can execute even front task failed</h2>",
+    "a": "\n<p>A: When start the workflow, you can set the task failure strategy: continue or failure.\n<img src=\"https://user-images.githubusercontent.com/15833811/80368215-ee378080-88be-11ea-9074-01a33d012b23.png\" alt=\"set task failure strategy\"></p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q : Workflow template DAG, workflow instance, work task and what is the relationship among them? A DAG supports a maximum concurrency of 100, does it mean that 100 workflow instances are generated and run concurrently? A task node in a DAG also has a concurrent number configuration. Does it mean that tasks can run concurrently with multiple threads? Is the maximum number 100?</h2>",
+    "a": "\n<p>A:</p>\n<p>1.2.1 version</p>\n<pre><code>master.properties\nControl the max parallel number of master node workflows\nmaster.exec.threads=100\n\nControl the max number of parallel tasks in each workflow\nmaster.exec.task.number=20\n\nworker.properties\nControl the max parallel number of worker node tasks\nworker.exec.threads=100\n</code></pre>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q : Worker group manage page no buttons displayed</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://user-images.githubusercontent.com/39816903/81903776-d8cb9180-95f4-11ea-98cb-94ca1e6a1db5.png\" width=\"60%\" />\n</p>\nA: For version 1.3.0, we want to support k8s, while the ip always will be changed, so can't config on the UI, worker can config group name in the worker.properties.\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q : Why not add mysql jdbc connector to docker image</h2>",
+    "a": "\n<p>A: The license of mysql jdbc connector is not compatible with apache v2 license, so it can't be included by docker image.</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q : Always fail when a task instance submit multiple yarn application</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://user-images.githubusercontent.com/16174111/81312485-476e9380-90b9-11ea-9aad-ed009db899b1.png\" width=\"60%\" />\n </p>\nA: This bug have fix in dev and in Requirement/TODO list.\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q : Master server and worker server stop abnormally after run for a few days</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://user-images.githubusercontent.com/18378986/81293969-c3101680-90a0-11ea-87e5-ac9f0dd53f5e.png\" width=\"60%\" />\n </p>\nA: Session timeout is too short, only 0.3 seconds. Change the config item in zookeeper.properties:\n<pre><code>zookeeper.session.timeout=60000\nzookeeper.connection.timeout=30000\n</code></pre>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q : Started using the docker-compose default configuration and display zookeeper errors</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://user-images.githubusercontent.com/42579056/80374318-13c98780-88c9-11ea-8d5f-53448b957f02.png\" width=\"60%\" />\n </p>\nA: This problem is solved in dev-1.3.0. This [pr](https://github.com/apache/dolphinscheduler/pull/2595) has solved this bug, brief change log:\n<pre><code>1. add zookeeper environment variable ZOO_4LW_COMMANDS_WHITELIST in docker-compose.yml file.\n2. change the data type of minLatency, avgLatency and maxLatency fr [...]
+  },
+  {
+    "q": "<h2>Q : Interface show some task would be running all the time when db delayed and log show task instance is null</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://user-images.githubusercontent.com/51871547/80302626-b1478d00-87dd-11ea-97d4-08aa2244a6d0.jpg\" width=\"60%\" />\n </p>\n<p align=\"center\">\n   <img src=\"https://user-images.githubusercontent.com/51871547/80302626-b1478d00-87dd-11ea-97d4-08aa2244a6d0.jpg\" width=\"60%\" />\n </p>\n<p>A: This <a href=\"https://github.com/apache/dolphinscheduler/issues/1477\">bug</a> describe the problem detail and it has been solved in version 1.2. [...]
+  },
+  {
+    "q": "<h2>Q : Zookeeper masters znode list ip address is 127.0.0.1, instead of wanted ip eth0 or eth1, and may can't see task log</h2>",
+    "a": "\n<p>A: bug fix:</p>\n<pre><code>1, confirm hostname\n$hostname\nhadoop1\n2, hostname -i\n127.0.0.1 10.3.57.15\n3, edit /etc/hosts,delete hadoop1 from 127.0.0.1 record\n$cat /etc/hosts\n127.0.0.1 localhost\n10.3.57.15 ds1 hadoop1\n4, hostname -i\n10.3.57.15\n</code></pre>\n<p>Hostname cmd return server hostname, hostname -i return all matched ips configured in /etc/hosts. So after I delete the hostname matched with 127.0.0.1, and only remain internal ip resolution, instead of r [...]
+  },
+  {
+    "q": "<h2>Q : The scheduling system set a second frequency task, causing the system to crash</h2>",
+    "a": "\n<p>A: The scheduling system not support second frequency task.</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q : Compile front-end code(dolphinscheduler-ui) show error cannot download &quot;https://github.com/sass/node-sass/releases/download/v4.13.1/darwin-x64-72_binding.node&quot;</h2>",
+    "a": "\n<p>A: 1, cd dolphinscheduler-ui and delete node_modules directory</p>\n<pre><code>sudo rm -rf node_modules\n</code></pre>\n<p>​ 2, install node-sass through npmmirror.com</p>\n<pre><code>sudo npm uninstall node-sass\nsudo npm i node-sass --sass_binary_site=https://npmmirror.com/mirrors/node-sass/\n</code></pre>\n<p>3, if the 2nd step failure, please, <a href=\"https://github.com/apache/dolphinscheduler/blob/dev/docs/docs/en/contribute/frontend-development.md\">referer url</a> [...]
+  },
+  {
+    "q": "<h2>Q : How to config when use mysql as database instead of postgres</h2>",
+    "a": "\n<p>A: 1, Edit project root dir maven config file, remove scope test property so that mysql driver can be loaded.</p>\n<pre><code>&lt;dependency&gt;\n\t&lt;groupId&gt;mysql&lt;/groupId&gt;\n\t&lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt;\n\t&lt;version&gt;${mysql.connector.version}&lt;/version&gt;\n\t&lt;scope&gt;test&lt;scope&gt;\n&lt;/dependency&gt;\n</code></pre>\n<p>​ 2, Edit application-dao.properties and quzrtz.properties config file to use mysql driver.\nDef [...]
+  },
+  {
+    "q": "<h2>Q : How does a shell task run</h2>",
+    "a": "\n<p>A: 1, Where is the executed server? Specify one worker to run the task, you can create worker group in Security Center, then the task can be send to the particular worker. If a worker group have multiple servers, which server actually execute is determined by scheduling and has randomness.</p>\n<p>​ 2, If it is a shell file of a path on the server, how to point to the path? The server shell file, involving permissions issues, it is not recommended to do so. It is recommend [...]
+  },
+  {
+    "q": "<h2>Q : What’s the best deploy mode you suggest in production env</h2>",
+    "a": "\n<p>A: 1, I suggest you use 3 nodes for stability if you don't have too many tasks to run. And deploy Master/Worker/Api server on different nodes is better. If you only have one node, you of course only can deploy them together! By the way, how many machines you need is determined by your business. The DolphinScheduler system itself does not use too many resources. Test more, and you'll find the right way to use a few machines.</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q : DEPENDENT Task Node</h2>",
+    "a": "\n<p>A: 1, DEPENDENT task node actually does not have script, it used for config data cycle dependent logic, and then add task node after that to realize task cycle dependent.</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q : How to change the boot port of the master</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://user-images.githubusercontent.com/8263441/62352160-0f3e9100-b53a-11e9-95ba-3ae3dde49c72.png\" width=\"60%\" />\n </p>\nA: 1, modify application_master.properties, for example: server.port=12345.\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q : Scheduled tasks cannot be online</h2>",
+    "a": "\n<p>A: 1, We can successfully create scheduled task and add one record into t_scheduler_schedules table, but when I click online, front page no reaction and will lock table t_scheduler_schedules, and tested set field release_state value to 1 in table t_scheduler_schedules, and task display online state. For DS version above 1.2 table name is t_ds_schedules, other version table name is t_scheduler_schedules.</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q : What is the address of swagger ui</h2>",
+    "a": "\n<p>A: 1, For version 3.1.0+ is [http://apiServerIp:apiServerPort/dolphinscheduler/swagger-ui/index.html],\nfor version 1.2+ is [http://apiServerIp:apiServerPort/dolphinscheduler/doc.html] others is [http://apiServerIp:apiServerPort/escheduler/doc.html].</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q : Front-end installation package is missing files</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://user-images.githubusercontent.com/41460919/61437083-d960b080-a96e-11e9-87f1-297ba3aca5e3.png\" width=\"60%\" />\n </p>\n <p align=\"center\">\n    <img src=\"https://user-images.githubusercontent.com/41460919/61437218-1b89f200-a96f-11e9-8e48-3fac47eb2389.png\" width=\"60%\" />\n  </p>\n<p>A: 1, User changed the config api server config file and item\n<img src=\"https://user-images.githubusercontent.com/41460919/61678323-1b09a680-ad3 [...]
+  },
+  {
+    "q": "<h2>Q : Upload a relatively large file blocked</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://user-images.githubusercontent.com/21357069/58231400-805b0e80-7d69-11e9-8107-7f37b06a95df.png\" width=\"60%\" />\n </p>\nA: 1, Edit ngnix config file, edit upload max size client_max_body_size 1024m.\n<p>​ 2, the version of Google Chrome is old, and the latest version of the browser has been updated.</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q : Create a spark data source, click &quot;Test Connection&quot;, the system will fall back to the login page</h2>",
+    "a": "\n<p>A: 1, edit nginx config file /etc/nginx/conf.d/escheduler.conf</p>\n<pre><code>proxy_connect_timeout 300s;\nproxy_read_timeout 300s;\nproxy_send_timeout 300s;\n</code></pre>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q : Workflow Dependency</h2>",
+    "a": "\n<p>A: 1, It is currently judged according to natural days, at the end of last month: the judgment time is the workflow A start_time/scheduler_time between '2019-05-31 00:00:00' and '2019-05-31 23:59:59'. Last month: It is judged that there is an A instance completed every day from the 1st to the end of the month. Last week: There are completed A instances 7 days last week. The first two days: Judging yesterday and the day before yesterday, there must be a completed A instance [...]
+  },
+  {
+    "q": "<h2>Q : DS Backend Interface Document</h2>",
+    "a": "\n<p>A: 1, http://localhost:8888/dolphinscheduler/swagger-ui/index.html?language=en.</p>\n<h2>During the operation of dolphinscheduler, the ip address is obtained incorrectly</h2>\n<p>When the master service and worker service are registered with zookeeper, relevant information will be created in the form of ip:port</p>\n<p>If the ip address is obtained incorrectly, please check the network information. For example, in the Linux system, use the <code>ifconfig</code> command to  [...]
+  },
+  {
+    "q": "<h2>Q:Deploy for multiple YARN clusters</h2>",
+    "a": "\n<p>A:By deploying different worker in different yarn clusters,the steps are as follows(eg: AWS EMR):</p>\n<ol>\n<li>\n<p>Deploying the worker server on the master node of the EMR cluster</p>\n</li>\n<li>\n<p>Changing <code>yarn.application.status.address</code> to current emr's yarn url in the <code>conf/common.properties</code></p>\n</li>\n<li>\n<p>Execute command <code>bin/dolphinscheduler-daemon.sh start worker-server</code> to start worker-server</p>\n</li>\n</ol>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:Update process definition error: Duplicate key TaskDefinition</h2>",
+    "a": "\n<p>A:Before DS 2.0.4 (after 2.0.0-alpha), there may be a problem of duplicate keys TaskDefinition due to version switching, which may cause the update workflow to fail; you can refer to the following SQL to delete duplicate data, taking MySQL as an example: (Note: Before operating, be sure to back up the original data, the SQL from pr<a href=\"https://github.com/apache/dolphinscheduler/pull/8408\">#8408</a>)</p>\n<pre><code class=\"language-SQL\"><span class=\"hljs-keyword\"> [...]
+  },
+  {
+    "q": "<h2>Q:Upgrade from 2.0.1 to 2.0.5 using PostgreSQL database failed</h2>",
+    "a": "\n<p>A:The repair can be completed by executing the following SQL in the database:</p>\n<pre><code class=\"language-SQL\"><span class=\"hljs-keyword\">update</span> t_ds_version <span class=\"hljs-keyword\">set</span> version<span class=\"hljs-operator\">=</span><span class=\"hljs-string\">&#x27;2.0.1&#x27;</span>;\n</code></pre>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:Can not find python-gateway-server in distribute package</h2>",
+    "a": "\n<p>A:After version 3.0.0-alpha, Python gateway server integrate into API server, and Python gateway service will start when you\nstart API server. If you want disabled when Python gateway service you could change API server configuration in path\n<code>api-server/conf/application.yaml</code> and change attribute <code>python-gateway.enabled : false</code>.</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q: Why is the schedule status of a workflow definition set to &quot;Offline&quot; after importing an online workflow definition?</h2>",
+    "a": "\n<p>A: This is because we want to prevent users from directly importing a scheduled workflow that is already &quot;Online&quot;.\nTherefore, when exporting such workflows, the system automatically changes their status to &quot;Offline&quot;.\nTo enforce this rule, even if a user manually sets the schedule status to &quot;Online&quot; in the workflow definition before importing,\nthe system will override it and set it to &quot;Offline&quot;.</p>\n<hr>\n<p>We will collect more F [...]
+  }
+]
\ No newline at end of file
diff --git a/fetch/faq/version.json b/fetch/faq/version.json
index 2a29521dd0..c4052435bd 100644
--- a/fetch/faq/version.json
+++ b/fetch/faq/version.json
@@ -21,5 +21,6 @@
   "3.2.2",
   "3.3.0-alpha",
   "3.3.1",
+  "3.3.2",
   "dev"
 ]
\ No newline at end of file
diff --git a/fetch/faq/zh-cn/3.3.2.json b/fetch/faq/zh-cn/3.3.2.json
new file mode 100644
index 0000000000..74e269e20d
--- /dev/null
+++ b/fetch/faq/zh-cn/3.3.2.json
@@ -0,0 +1,234 @@
+[
+  {
+    "q": "<h2>Q:项目的名称是?</h2>",
+    "a": "\n<p>A:DolphinScheduler</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:DolphinScheduler 服务介绍及建议运行内存</h2>",
+    "a": "\n<p>A:DolphinScheduler 由 5 个服务组成,MasterServer、WorkerServer、ApiServer、AlertServer、LoggerServer 和 UI。</p>\n<table>\n<thead>\n<tr>\n<th>服务</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>MasterServer</td>\n<td>主要负责 <strong>DAG</strong> 的切分和任务状态的监控</td>\n</tr>\n<tr>\n<td>WorkerServer/LoggerServer</td>\n<td>主要负责任务的提交、执行和任务状态的更新。LoggerServer 用于 Rest Api 通过 <strong>RPC</strong> 查看日志</td>\n</tr>\n<tr>\n<td>ApiServer</td>\n<td>提供 Rest Api 服务,供 UI 进行调用</td>\n</tr>\n<tr>\n<td>Aler [...]
+  },
+  {
+    "q": "<h2>Q:系统支持哪些邮箱?</h2>",
+    "a": "\n<p>A:支持绝大多数邮箱,qq、163、126、139、outlook、aliyun 等皆支持。支持 <strong>TLS 和 SSL</strong> 协议,可以在 dolphinscheduler 的 ui 中进行配置:\n<a href=\"../zh/guide/alert/email.md\">如何配置邮箱告警</a>。</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:常用的系统变量时间参数有哪些,如何使用?</h2>",
+    "a": "\n<p>A:请参考<a href=\"https://dolphinscheduler.apache.org/zh-cn/docs/latest/user_doc/guide/parameter/built-in.html\">使用手册</a> 第 8 小节</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:pip install kazoo 这个安装报错。是必须安装的吗?</h2>",
+    "a": "\n<p>A: 这个是 python 连接 Zookeeper 需要使用到的,用于删除 Zookeeper 中的 master/worker 临时节点信息。所以如果是第一次安装,就可以忽略错误。在 1.3.0 之后,kazoo 不再需要了,我们用程序来代替 kazoo 所做的</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:怎么指定机器运行任务</h2>",
+    "a": "\n<p>A:使用 <strong>管理员</strong> 创建 Worker 分组,在 <strong>流程定义启动</strong> 的时候可<strong>指定 Worker 分组</strong>或者在<strong>任务节点上指定 Worker 分组</strong>。如果不指定,则使用 Default,<strong>Default 默认是使用的集群里所有的 Worker 中随机选取一台来进行任务提交、执行</strong></p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:任务的优先级</h2>",
+    "a": "\n<p>A:我们同时 <strong>支持流程和任务的优先级</strong>。优先级我们有 <strong>HIGHEST、HIGH、MEDIUM、LOW 和 LOWEST</strong> 五种级别。<strong>可以设置不同流程实例之间的优先级,也可以设置同一个流程实例中不同任务实例的优先级</strong>。详细内容请参考任务优先级设计 https://analysys.github.io/easyscheduler_docs_cn/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1.html#%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:dolphinscheduler-grpc 报错</h2>",
+    "a": "\n<p>A:在 1.2 及以前版本中,在根目录下执行:mvn -U clean package assembly:assembly -Dmaven.test.skip=true,然后刷新下整个项目就好,1.3 版本中不再使用 GRPC 进行通信了</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:DolphinScheduler 支持 windows 上运行么</h2>",
+    "a": "\n<p>A: 理论上只有 <strong>Worker 是需要在 Linux 上运行的</strong>,其它的服务都是可以在 windows 上正常运行的。但是还是建议最好能在 linux 上部署使用</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:UI 在 linux 编译 node-sass 提示:Error:EACCESS:permission denied,mkdir xxxx</h2>",
+    "a": "\n<p>A:单独安装 <strong>npm install node-sass --unsafe-perm</strong>,之后再 <strong>npm install</strong></p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:UI 不能正常登陆访问</h2>",
+    "a": "\n<p>A: 1,如果是 node 启动的查看 dolphinscheduler-ui 下的 .env 文件里的 API_BASE 配置是否是 Api Server 服务地址</p>\n<p>​ 2,如果是 nginx 启动的并且是通过 <strong>install-dolphinscheduler-ui.sh</strong> 安装的,查看</p>\n<p>​ <strong>/etc/nginx/conf.d/dolphinscheduler.conf</strong> 中的 proxy_pass 配置是否是 Api Server 服务地址</p>\n<p>​ 3,如果以上配置都是正确的,那么请查看 Api Server 服务是否是正常的,</p>\n<p>​ curl http://localhost:12345/dolphinscheduler/users/get-user-info 查看 Api Server 日志,</p>\n<p>​ 如果提示 cn.dolphinscheduler.api.interceptor.LoginHand [...]
+  },
+  {
+    "q": "<h2>Q:流程定义手动启动或调度启动之后,没有流程实例生成</h2>",
+    "a": "\n<p>A: 1,首先通过 <strong>jps 查看 MasterServer 服务是否存在</strong>,或者从服务监控直接查看 zk 中是否存在 master 服务</p>\n<p>​ 2,如果存在 master 服务,查看 <strong>命令状态统计</strong> 或者 <strong>t_ds_error_command</strong> 中是否增加的新记录,如果增加了,<strong>请查看 message 字段定位启动异常原因</strong></p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:任务状态一直处于提交成功状态</h2>",
+    "a": "\n<p>A: 1,首先通过 <strong>jps 查看 WorkerServer 服务是否存在</strong>,或者从服务监控直接查看 zk 中是否存在 worker 服务</p>\n<p>​ 2,如果 <strong>WorkerServer</strong> 服务正常,需要 <strong>查看 MasterServer 是否把 task 任务放到 zk 队列中</strong> ,<strong>需要查看 MasterServer 日志及 zk 队列中是否有任务阻塞</strong></p>\n<p>​ 3,如果以上都没有问题,需要定位是否指定了 Worker 分组,但是 <strong>Worker 分组的机器不是在线状态</strong></p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:install.sh 中需要注意问题</h2>",
+    "a": "\n<p>A: 1,如果替换变量中包含特殊字符,<strong>请用 \\ 转移符进行转移</strong></p>\n<p>​ 2,installPath=&quot;/data1_1T/dolphinscheduler&quot;,<strong>这个目录不能和当前要一键安装的 install.sh 目录是一样的</strong></p>\n<p>​ 3,deployUser=&quot;dolphinscheduler&quot;,<strong>部署用户必须具有 sudo 权限</strong>,因为 worker 是通过 sudo -u 租户 sh xxx.command 进行执行的</p>\n<p>​ 4,monitorServerState=&quot;false&quot;,服务监控脚本是否启动,默认是不启动服务监控脚本的。<strong>如果启动服务监控脚本,则每 5 分钟定时来监控 master 和 worker 的服务是否 down 机,如果 down 机则会自动重启</strong></p>\n<p>​ 5,hdfsStart [...]
+  },
+  {
+    "q": "<h2>Q:流程定义和流程实例下线异常</h2>",
+    "a": "\n<p>A : 对于 <strong>1.0.4 以前的版本中</strong>,修改 dolphinscheduler-api cn.dolphinscheduler.api.quartz 包下的代码即可</p>\n<pre><code>public boolean deleteJob(String jobName, String jobGroupName) {\n    lock.writeLock().lock();\n    try {\n      JobKey jobKey = new JobKey(jobName,jobGroupName);\n      if(scheduler.checkExists(jobKey)){\n        logger.info(&quot;try to delete job, job name: {}, job group name: {},&quot;, jobName, jobGroupName);\n        return scheduler.deleteJob(jobKey);\n [...]
+  },
+  {
+    "q": "<h2>Q:HDFS 启动之前创建的租户,能正常使用资源中心吗</h2>",
+    "a": "\n<p>A: 不能。因为在未启动 HDFS 创建的租户,不会在 HDFS 中注册租户目录。所以上次资源会报错</p>\n"
+  },
+  {
+    "q": "<h2>Q:多 Master 和多 Worker 状态下,服务掉了,怎么容错</h2>",
+    "a": "\n<p>A: <strong>注意:Master 监控 Master 及 Worker 服务。</strong></p>\n<p>​ 1,如果 Master 服务掉了,其它的 Master 会接管挂掉的 Master 的流程,继续监控 Worker task 状态</p>\n<p>​ 2,如果 Worker 服务掉了,Master 会监控到 Worker 服务掉了,如果存在 Yarn 任务,Kill Yarn 任务之后走重试</p>\n<p>具体请看容错设计:https://analysys.github.io/easyscheduler_docs_cn/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1.html#%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:对于 Master 和 Worker 一台机器伪分布式下的容错</h2>",
+    "a": "\n<p>A : 1.0.3 版本只实现了 Master 启动流程容错,不走 Worker 容错。也就是说如果 Worker 挂掉的时候,没有 Master 存在。这流程将会出现问题。我们会在 <strong>1.1.0</strong> 版本中增加 Master 和 Worker 启动自容错,修复这个问题。如果想手动修改这个问题,需要针对 <strong>跨重启正在运行流程</strong> <strong>并且已经掉的正在运行的 Worker 任务,需要修改为失败</strong>,<strong>同时跨重启正在运行流程设置为失败状态</strong>。然后从失败节点进行流程恢复即可</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:定时容易设置成每秒执行</h2>",
+    "a": "\n<p>A : 设置定时的时候需要注意,如果第一位(* * * * _ ? _)设置成 * ,则表示每秒执行。<strong>我们将会在 1.1.0 版本中加入显示最近调度的时间列表</strong> ,使用 http://cron.qqe2.com/ 可以在线看近 5 次运行时间</p>\n"
+  },
+  {
+    "q": "<h2>Q:定时有有效时间范围吗</h2>",
+    "a": "\n<p>A:有的,<strong>如果定时的起止时间是同一个时间,那么此定时将是无效的定时</strong>。<strong>如果起止时间的结束时间比当前的时间小,很有可能定时会被自动删除</strong></p>\n"
+  },
+  {
+    "q": "<h2>Q:任务依赖有几种实现</h2>",
+    "a": "\n<p>A: 1,<strong>DAG</strong> 之间的任务依赖关系,是从 <strong>入度为零</strong> 进行 DAG 切分的</p>\n<p>​ 2,有 <strong>任务依赖节点</strong> ,可以实现跨流程的任务或者流程依赖,具体请参考 依赖(DEPENDENT)节点:https://analysys.github.io/easyscheduler_docs_cn/%E7%B3%BB%E7%BB%9F%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C.html#%E4%BB%BB%E5%8A%A1%E8%8A%82%E7%82%B9%E7%B1%BB%E5%9E%8B%E5%92%8C%E5%8F%82%E6%95%B0%E8%AE%BE%E7%BD%AE</p>\n"
+  },
+  {
+    "q": "<h2>Q:流程定义有几种启动方式</h2>",
+    "a": "\n<p>A: 1,在 <strong>流程定义列表</strong>,点击 <strong>启动</strong> 按钮</p>\n<p>​ 2,<strong>流程定义列表添加定时器</strong>,调度启动流程定义</p>\n<p>​ 3,流程定义 <strong>查看或编辑</strong> DAG 页面,任意 <strong>任务节点右击</strong> 启动流程定义</p>\n<p>​ 4,可以对流程定义 DAG 编辑,设置某些任务的运行标志位 <strong>禁止运行</strong>,则在启动流程定义的时候,将该节点的连线将从 DAG 中去掉</p>\n"
+  },
+  {
+    "q": "<h2>Q:Python 任务设置 Python 版本</h2>",
+    "a": "\n<p>A: 只需要修改 <code>bin/env/dolphinscheduler_env.sh</code> 中的 PYTHON_LAUNCHER</p>\n<pre><code>export PYTHON_LAUNCHER=/bin/python\n</code></pre>\n<p>注意:这了 <strong>PYTHON_LAUNCHER</strong> ,是 python 命令的绝对路径,而不是单纯的 PYTHON_LAUNCHER,还需要注意的是 export PATH 的时候,需要直接</p>\n<pre><code>export PATH=$HADOOP_HOME/bin:$SPARK_HOME/bin:$PYTHON_LAUNCHER:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH\n</code></pre>\n"
+  },
+  {
+    "q": "<h2>Q:Worker Task 通过 sudo -u 租户 sh xxx.command 会产生子进程,在 kill 的时候,是否会杀掉</h2>",
+    "a": "\n<p>A: 我们会在 1.0.4 中增加 kill 任务同时,kill 掉任务产生的各种所有子进程</p>\n"
+  },
+  {
+    "q": "<h2>Q:DolphinScheduler 中的队列怎么用,用户队列和租户队列是什么意思</h2>",
+    "a": "\n<p>A : DolphinScheduler 中的队列可以在用户或者租户上指定队列,<strong>用户指定的队列优先级是高于租户队列的优先级的。</strong>,例如:对 MR 任务指定队列,是通过 mapreduce.job.queuename 来指定队列的。</p>\n<p>注意:MR 在用以上方法指定队列的时候,传递参数请使用如下方式:</p>\n<pre><code>Configuration conf = new Configuration();\n   GenericOptionsParser optionParser = new GenericOptionsParser(conf, args);\n   String[] remainingArgs = optionParser.getRemainingArgs();\n</code></pre>\n<p>如果是 Spark 任务 --queue 方式指定队列</p>\n"
+  },
+  {
+    "q": "<h2>Q:Master 或者 Worker 报如下告警</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://analysys.github.io/easyscheduler_docs_cn/images/master_worker_lack_res.png\" width=\"60%\" />\n </p>\n<p>A : 修改 conf 下的 master.properties <strong>master.reserved.memory</strong> 的值为更小的值,比如说 0.1 或者</p>\n<p>worker.properties <strong>worker.reserved.memory</strong> 的值为更小的值,比如说 0.1</p>\n"
+  },
+  {
+    "q": "<h2>Q:hive 版本是 1.1.0+cdh5.15.0,SQL hive 任务连接报错</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://analysys.github.io/easyscheduler_docs_cn/images/cdh_hive_error.png\" width=\"60%\" />\n </p>\n<p>A: 将 hive pom</p>\n<pre><code>&lt;dependency&gt;\n    &lt;groupId&gt;org.apache.hive&lt;/groupId&gt;\n    &lt;artifactId&gt;hive-jdbc&lt;/artifactId&gt;\n    &lt;version&gt;2.3.9&lt;/version&gt;\n&lt;/dependency&gt;\n</code></pre>\n<p>修改为</p>\n<pre><code>&lt;dependency&gt;\n    &lt;groupId&gt;org.apache.hive&lt;/groupId&gt;\n    &lt;arti [...]
+  },
+  {
+    "q": "<h2>Q:如何增加一台工作服务器</h2>",
+    "a": "\n<p>A: 1,参考官网<a href=\"https://dolphinscheduler.apache.org/zh-cn/docs/3.1.2/installation/cluster\">部署文档</a> 1.3 小节,创建部署用户和 hosts 映射</p>\n<p>​ 2,参考官网<a href=\"https://dolphinscheduler.apache.org/zh-cn/docs/3.1.2/installation/cluster\">部署文档</a> 1.4 小节,配置 hosts 映射和 ssh 打通及修改目录权限.\n​ 1.4 小节的最后一步是在当前新增机器上执行的,即需要给部署目录部署用户的权限</p>\n<p>​ 3,复制正在运行的服务器上的部署目录到新机器的同样的部署目录下</p>\n<p>​ 4,到 bin 下,启动 worker server</p>\n<pre><code>./dolphinscheduler-daemon.sh start worker-server\n</code></pre>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:DolphinScheduler 什么时候发布新版本,同时新旧版本区别,以及如何升级,版本号规范</h2>",
+    "a": "\n<p>A:1,Apache 项目的发版流程是通过邮件列表完成的。 你可以订阅 DolphinScheduler 的邮件列表,订阅之后如果有发版,你就可以收到邮件。请参照这篇<a href=\"https://github.com/apache/dolphinscheduler#get-help\">指引</a>来订阅 DolphinScheduler 的邮件列表。</p>\n<p>2,当项目发版的时候,会有发版说明告知具体的变更内容,同时也会有从旧版本升级到新版本的升级文档。</p>\n<p>3,版本号为 x.y.z, 当 x 增加时代表全新架构的版本。当 y 增加时代表与 y 版本之前的不兼容需要升级脚本或其他人工处理才能升级。当 z 增加代表是 bug 修复,升级完全兼容。无需额外处理。之前有个问题 1.0.2 的升级不兼容 1.0.1 需要升级脚本。</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:后续任务在前置任务失败情况下仍旧可以执行</h2>",
+    "a": "\n<p>A:在启动工作流的时候,你可以设置失败策略:继续还是失败。\n<img src=\"https://user-images.githubusercontent.com/15833811/80368215-ee378080-88be-11ea-9074-01a33d012b23.png\" alt=\"设置任务失败策略\"></p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:工作流模板 DAG、工作流实例、工作任务及实例之间是什么关系 工作流模板 DAG、工作流实例、工作任务及实例之间是什么关系,一个 dag 支持最大并发 100,是指产生 100 个工作流实例并发运行吗?一个 dag 中的任务节点,也有并发数的配置,是指任务也可以并发多个线程运行吗?最大数 100 吗?</h2>",
+    "a": "\n<p>A:</p>\n<p>1.2.1 version</p>\n<pre><code>   master.properties\n   设置 master 节点并发执行的最大工作流数\n   master.exec.threads=100\n\n   Control the number of parallel tasks in each workflow\n   设置每个工作流可以并发执行的最大任务数\n   master.exec.task.number=20\n\n   worker.properties\n   设置 worker 节点并发执行的最大任务数\n   worker.exec.threads=100\n</code></pre>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:工作组管理页面没有展示按钮</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://user-images.githubusercontent.com/39816903/81903776-d8cb9180-95f4-11ea-98cb-94ca1e6a1db5.png\" width=\"60%\" />\n</p>\nA:1.3.0 版本,为了支持 k8s,worker ip 一直变动,因此我们不能在 UI 界面上配置,工作组可以配置在 worker.properties 上配置名称。\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:为什么不把 mysql 的 jdbc 连接包添加到 docker 镜像里面</h2>",
+    "a": "\n<p>A:Mysql jdbc 连接包的许可证和 apache v2 的许可证不兼容,因此它不能被加入到 docker 镜像里面。</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:当一个任务提交多个 yarn 程序的时候经常失败</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://user-images.githubusercontent.com/16174111/81312485-476e9380-90b9-11ea-9aad-ed009db899b1.png\" width=\"60%\" />\n</p>\nA:这个 Bug 在 dev 分支已修复,并加入到需求/待做列表。\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:Master 服务和 Worker 服务在运行几天之后停止了</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://user-images.githubusercontent.com/18378986/81293969-c3101680-90a0-11ea-87e5-ac9f0dd53f5e.png\" width=\"60%\" />\n</p>\nA:会话超时时间太短了,只有 0.3 秒,修改 zookeeper.properties 的配置项:\n<pre><code>zookeeper.session.timeout=60000\nzookeeper.connection.timeout=30000\n</code></pre>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:使用 docker-compose 默认配置启动,显示 zookeeper 错误</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://user-images.githubusercontent.com/42579056/80374318-13c98780-88c9-11ea-8d5f-53448b957f02.png\" width=\"60%\" />\n </p>\nA:这个问题在 dev-1.3.0 版本解决了。这个 [pr](https://github.com/apache/dolphinscheduler/pull/2595) 已经解决了这个 bug,主要的改动点:\n<pre><code>在docker-compose.yml文件中增加zookeeper的环境变量ZOO_4LW_COMMANDS_WHITELIST。\n把minLatency,avgLatency and maxLatency的类型从int改成float。\n</code></pre>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:界面上显示任务一直运行,结束不了,从日志上看任务实例为空</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://user-images.githubusercontent.com/51871547/80302626-b1478d00-87dd-11ea-97d4-08aa2244a6d0.jpg\" width=\"60%\" />\n </p>\n<p align=\"center\">\n   <img src=\"https://user-images.githubusercontent.com/51871547/80302626-b1478d00-87dd-11ea-97d4-08aa2244a6d0.jpg\" width=\"60%\" />\n </p>\nA:这个 [bug](https://github.com/apache/dolphinscheduler/issues/1477)  描述了问题的详情。这个问题在 1.2.1 版本已经被修复了。\n对于 1.2.1 以下的版本,这种情况的一些提示:\n<pre><code>1,清空 zk 下这个路径的 [...]
+  },
+  {
+    "q": "<h2>Q:zk 中注册的 master 信息 ip 地址是 127.0.0.1,而不是配置的域名所对应或者解析的 ip 地址,可能导致不能查看任务日志</h2>",
+    "a": "\n<p>A:修复 bug:</p>\n<pre><code>1、confirm hostname\n$hostname\nhadoop1\n2、hostname -i\n127.0.0.1 10.3.57.15\n3、edit /etc/hosts,delete hadoop1 from 127.0.0.1 record\n$cat /etc/hosts\n127.0.0.1 localhost\n10.3.57.15 ds1 hadoop1\n4、hostname -i\n10.3.57.15\n</code></pre>\n<p>hostname 命令返回服务器主机名,hostname -i 返回的是服务器主机名在 /etc/hosts 中所有匹配的 ip 地址。所以我把 /etc/hosts 中 127.0.0.1 中的主机名删掉,只保留内网 ip 的解析就可以了,没必要把 127.0.0.1 整条注释掉, 只要 hostname 命令返回值在 /etc/hosts 中对应的内网 ip 正确就可以,ds 程序取了第一个值,我理解上 ds 程序 [...]
+  },
+  {
+    "q": "<h2>Q:调度系统设置了一个秒级的任务,导致系统挂掉</h2>",
+    "a": "\n<p>A:调度系统不支持秒级任务。</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:编译前后端代码 (dolphinscheduler-ui) 报错不能下载&quot;https://github.com/sass/node-sass/releases/download/v4.13.1/darwin-x64-72_binding.node&quot;</h2>",
+    "a": "\n<p>A:1,cd dolphinscheduler-ui 然后删除 node_modules 目录</p>\n<pre><code>sudo rm -rf node_modules\n</code></pre>\n<p>​ 2,通过 npmmirror.com 下载 node-sass</p>\n<pre><code>sudo npm uninstall node-sass\nsudo npm i node-sass --sass_binary_site=https://npmmirror.com/mirrors/node-sass/\n</code></pre>\n<p>3,如果步骤 2 报错,请重新构建 node-saas <a href=\"https://github.com/apache/dolphinscheduler/blob/dev/docs/docs/zh/contribute/frontend-development.md\">参考链接</a></p>\n<pre><code>sudo npm rebuild node-sa [...]
+  },
+  {
+    "q": "<h2>Q:当使用 mysql 作为 ds 数据库需要如何配置</h2>",
+    "a": "\n<p>A:1,修改项目根目录 maven 配置文件,移除 scope 的 test 属性,这样 mysql 的包就可以在其它阶段被加载</p>\n<pre><code>&lt;dependency&gt;\n\t&lt;groupId&gt;mysql&lt;/groupId&gt;\n\t&lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt;\n\t&lt;version&gt;${mysql.connector.version}&lt;/version&gt;\n\t&lt;scope&gt;test&lt;scope&gt;\n&lt;/dependency&gt;\n</code></pre>\n<p>​ 2,修改 application-dao.properties 和 quzrtz.properties 来使用 mysql 驱动\n默认驱动是 postgres 主要由于许可证原因。</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:shell 任务是如何运行的</h2>",
+    "a": "\n<p>A:1,被执行的服务器在哪里配置,以及实际执行的服务器是哪台? 要指定在某个 worker 上去执行,可以在 worker 分组中配置,固定 IP,这样就可以把路径写死。如果配置的 worker 分组有多个 worker,实际执行的服务器由调度决定的,具有随机性。</p>\n<p>​ 2,如果是服务器上某个路径的一个 shell 文件,怎么指向这个路径?服务器上某个路径下的 shell 文件,涉及到权限问题,不建议这么做。建议你可以使用资源中心的存储功能,然后在 shell 编辑器里面使用资源引用就可以,系统会帮助你把脚本下载到执行目录下。如果以 hdfs 作为资源中心,在执行的时候,调度器会把依赖的 jar 包,文件等资源拉到 worker 的执行目录上,我这边是 /tmp/escheduler/exec/process,该配置可以在 install.sh 中进行指定。</p>\n<p>3,以哪个用户来执行任务?执行任务的时候�
 �调度器会采用 sudo -u 租户的方式去执行,租户是一个 linux 用户。</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:生产环境部署方式有推荐的最佳实践吗</h2>",
+    "a": "\n<p>A:1,如果没有很多任务要运行,出于稳定性考虑我们建议使用 3 个节点,并且最好把 Master/Worker/Api 服务部署在不同的节点。如果你只有一个节点,当然只能把所有的服务部署在同一个节点!通常来说,需要多少节点取决于你的业务,海豚调度系统本身不需要很多的资源。充分测试之后,你们将找到使用较少节点的合适的部署方式。</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:DEPENDENT 节点</h2>",
+    "a": "\n<p>A:1,DEPENDENT 节点实际是没有执行体的,是专门用来配置数据周期依赖逻辑,然后再把执行节点挂载后面,来实现任务间的周期依赖。</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:如何改变 Master 服务的启动端口</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://user-images.githubusercontent.com/8263441/62352160-0f3e9100-b53a-11e9-95ba-3ae3dde49c72.png\" width=\"60%\" />\n </p>\nA:1,修改 application_master.properties 配置文件,例如:server.port=12345。\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:调度任务不能上线</h2>",
+    "a": "\n<p>A:1,我们可以成功创建调度任务,并且表 t_scheduler_schedules 中也成功加入了一条记录,但当我点击上线后,前端页面无反应且会把 t_scheduler_schedules 这张表锁定,我测试过将 t_scheduler_schedules 中的 RELEASE_state 字段手动更新为 1 这样前端会显示为上线状态。DS 版本 1.2+ 表名是 t_ds_schedules,其它版本表名是 t_scheduler_schedules。</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:请问 swagger ui 的地址是什么</h2>",
+    "a": "\n<p>A:1, 3.1.0+ 版本地址是 [http://apiServerIp:apiServerPort/dolphinscheduler/swagger-ui/index.html], 1.2+ 版本地址是:[http://apiServerIp:apiServerPort/dolphinscheduler/swagger-ui/index.html?language=zh_CN&amp;lang=cn],其它版本是 [http://apiServerIp:apiServerPort/escheduler/swagger-ui/index.html?language=zh_CN&amp;lang=cn]。</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:前端安装包缺少文件</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://user-images.githubusercontent.com/41460919/61437083-d960b080-a96e-11e9-87f1-297ba3aca5e3.png\" width=\"60%\" />\n </p>\n <p align=\"center\">\n    <img src=\"https://user-images.githubusercontent.com/41460919/61437218-1b89f200-a96f-11e9-8e48-3fac47eb2389.png\" width=\"60%\" />\n  </p>\nA: 1,用户修改了 api server 配置文件中的![apiServerContextPath](https://user-images.githubusercontent.com/41460919/61678323-1b09a680-ad35-11e9-9707-3ba68bbc70d6. [...]
+  },
+  {
+    "q": "<h2>Q:上传比较大的文件卡住</h2>",
+    "a": "\n<p align=\"center\">\n   <img src=\"https://user-images.githubusercontent.com/21357069/58231400-805b0e80-7d69-11e9-8107-7f37b06a95df.png\" width=\"60%\" />\n </p>\nA:1,编辑 ngnix 配置文件 vi /etc/nginx/nginx.conf,更改上传大小 client_max_body_size 1024m。\n<p>​ 2,更新 google chrome 版本到最新版本。</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:创建 spark 数据源,点击“测试连接”,系统回退回到登入页面</h2>",
+    "a": "\n<p>A:1,edit /etc/nginx/conf.d/escheduler.conf</p>\n<pre><code>proxy_connect_timeout 300s;\nproxy_read_timeout 300s;\nproxy_send_timeout 300s;\n</code></pre>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:工作流依赖</h2>",
+    "a": "\n<p>A:1,目前是按照自然天来判断,上月末:判断时间是工作流 A start_time/scheduler_time between '2019-05-31 00:00:00' and '2019-05-31 23:59:59'。上月:是判断上个月从 1 号到月末每天都要有完成的 A 实例。上周: 上周 7 天都要有完成的 A 实例。前两天: 判断昨天和前天,两天都要有完成的 A 实例。</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:DS 后端接口文档</h2>",
+    "a": "\n<p>A:1,http://localhost:8888/dolphinscheduler/swagger-ui/index.html?language=zh_CN&amp;lang=zh。</p>\n<h2>dolphinscheduler 在运行过程中,ip 地址获取错误的问题</h2>\n<p>master 服务、worker 服务在 zookeeper 注册时,会以 ip:port 的形式创建相关信息</p>\n<p>如果 ip 地址获取错误,请检查网络信息,如 Linux 系统通过 <code>ifconfig</code> 命令查看网络信息,以下图为例:</p>\n<p align=\"center\">\n  <img src=\"/img/network/network_config.png\" width=\"60%\" />\n</p>\n<p>可以使用 dolphinscheduler 提供的三种策略,获取可用 ip:</p>\n<ul>\n<li>default: 优先获取内网网卡获取 ip 地址,其次获取外网网卡获取 i [...]
+  },
+  {
+    "q": "<h2>Q:Yarn 多集群支持</h2>",
+    "a": "\n<p>A:将 Worker 节点分别部署至多个 Yarn 集群,步骤如下(例如 AWS EMR):</p>\n<ol>\n<li>\n<p>将 Worker 节点部署至 EMR 集群的 Master 节点</p>\n</li>\n<li>\n<p>将 <code>conf/common.properties</code> 中的 <code>yarn.application.status.address</code> 修改为当前集群的 Yarn 的信息</p>\n</li>\n<li>\n<p>通过 <code>bin/dolphinscheduler-daemon.sh start worker-server</code> 启动 worker-server</p>\n</li>\n</ol>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:Update process definition error: Duplicate key TaskDefinition</h2>",
+    "a": "\n<p>A:在 DS 2.0.4 之前(2.0.0-alpha 之后),可能存在版本切换的重复键问题,导致更新工作流失败;可参考如下 SQL 进行重复数据的删除,以 MySQL 为例:(注意:操作前请务必备份原数据,SQL 来源于 pr <a href=\"https://github.com/apache/dolphinscheduler/pull/8408\">#8408</a>)</p>\n<pre><code class=\"language-SQL\"><span class=\"hljs-keyword\">DELETE</span> <span class=\"hljs-keyword\">FROM</span> t_ds_process_task_relation_log <span class=\"hljs-keyword\">WHERE</span> id <span class=\"hljs-keyword\">IN</span>\n(\n <span class=\"hljs-keyword\">SELECT</span>\ [...]
+  },
+  {
+    "q": "<h2>Q:使用 Postgresql 数据库从 2.0.1 升级至 2.0.5 更新失败</h2>",
+    "a": "\n<p>A:在数据库中执行以下 SQL 即可完成修复:</p>\n<pre><code class=\"language-SQL\"><span class=\"hljs-keyword\">update</span> t_ds_version <span class=\"hljs-keyword\">set</span> version<span class=\"hljs-operator\">=</span><span class=\"hljs-string\">&#x27;2.0.1&#x27;</span>;\n</code></pre>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:在二进制分发包中找不到 python-gateway-server 文件夹</h2>",
+    "a": "\n<p>A:在 3.0.0-alpha 版本之后,Python gateway server 集成到 api server 中,当您启动 api server 后,Python gateway server 将启动。\n如果您不想在 api server 启动的时候启动 Python gateway server,您可以修改 api server 中的配置文件 <code>api-server/conf/application.yaml</code>\n并更改可选项 <code>python-gateway.enabled</code> 中的值设置为 <code>false</code>。</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q: 缓存执行时怎么判断任务已经存在缓存过的任务,即如何判断一个任务可以使用另外一个任务的运行结果?</h2>",
+    "a": "\n<p>A: 对于标识为<code>缓存执行</code>的任务, 当任务启动时会生成一个缓存 key, 该 key 由以下字段组合哈希得到:</p>\n<ul>\n<li>任务定义:任务实例对应的任务定义的 id</li>\n<li>任务的版本:任务实例对应的任务定义的版本</li>\n<li>任务输入的参数:包括上游节点和全局参数传入的参数中,被任务定义的参数列表所引用和任务定义中使用<code>${}</code>引用的参数</li>\n<li>环境配置: 环境名称下具体的环境配置内容,具体为安全中心环境管理中的实际配置内容</li>\n</ul>\n<p>当缓存标识的任务运行时,会查找数据库中是否用相同缓存 key 的数据,</p>\n<ul>\n<li>若有则复制该任务实例并进行相应数据的更新</li>\n<li>若无,则任务照常运行,并在任务完成时将任务实例的数据存入缓存</li>\n</ul>\n<p>若不需要缓存时,可以在工作流实例中右键运行清除缓存,则�
 ��清除该版本下当前输入的参数的缓存数据。</p>\n<hr>\n"
+  },
+  {
+    "q": "<h2>Q:为什么导入一个在线的工作流定义,导入后的工作流定义的定时状态是下线的?</h2>",
+    "a": "\n<p>A:因为我们不希望用户直接导入一个<code>在线</code>的定时工作流,所以在导出时,系统会将它的状态改为<code>下线</code>。\n为了遵循这个原则,即使用户自行将要导入的工作流定义中的定时状态改为<code>在线</code>,系统也会将状态覆盖为<code>下线</code>。</p>\n<hr>\n<p>我们会持续收集更多的 FAQ。</p>\n"
+  }
+]
\ No newline at end of file
diff --git a/fetch/version.json b/fetch/version.json
index b0f5d3b1d1..ff702af2ff 100644
--- a/fetch/version.json
+++ b/fetch/version.json
@@ -40,5 +40,6 @@
   "3.2.2",
   "3.3.0-alpha",
   "3.3.1",
+  "3.3.2",
   "dev"
 ]
\ No newline at end of file
diff --git a/pages/doc/en-us/3.3.2/DSIP.json b/pages/doc/en-us/3.3.2/DSIP.json
new file mode 100644
index 0000000000..327d29bac4
--- /dev/null
+++ b/pages/doc/en-us/3.3.2/DSIP.json
@@ -0,0 +1,120 @@
+{
+  "__html": "<h1 id=\"dsip\">DSIP</h1>\n<p>DolphinScheduler Improvement Proposal(DSIP) introduce major improvements to the Apache DolphinScheduler codebase. It is\nnot for small incremental improvements, and the purpose of DSIP is to notice and inform community the finished or coming\nbig feature for Apache DolphinScheduler.</p>\n<h2 id=\"what-is-considered-as-dsip\">What is considered as DSIP</h2>\n<ul>\n<li>Any major new feature, major improvement, introduce or remove components</li>\n [...]
+  "location": [
+    "DSIP",
+    "DSIP"
+  ],
+  "time": "2025-10-30",
+  "structure": [
+    {
+      "title": "What is considered as DSIP",
+      "children": [
+        {
+          "title": "Current DSIPs",
+          "children": [],
+          "anchor": "current-dsips"
+        },
+        {
+          "title": "Past DSIPs",
+          "children": [],
+          "anchor": "past-dsips"
+        },
+        {
+          "title": "Create GitHub Issue",
+          "children": [],
+          "anchor": "create-github-issue"
+        },
+        {
+          "title": "Send Discuss Mail",
+          "children": [],
+          "anchor": "send-discuss-mail"
+        },
+        {
+          "title": "Work On It, Or Create Subtask For It",
+          "children": [],
+          "anchor": "work-on-it,-or-create-subtask-for-it"
+        },
+        {
+          "title": "Close After It Done",
+          "children": [],
+          "anchor": "close-after-it-done"
+        }
+      ],
+      "anchor": "what-is-considered-as-dsip"
+    },
+    {
+      "title": "DSIP Process",
+      "children": [
+        {
+          "title": "Current DSIPs",
+          "children": [],
+          "anchor": "current-dsips"
+        },
+        {
+          "title": "Past DSIPs",
+          "children": [],
+          "anchor": "past-dsips"
+        },
+        {
+          "title": "Create GitHub Issue",
+          "children": [],
+          "anchor": "create-github-issue"
+        },
+        {
+          "title": "Send Discuss Mail",
+          "children": [],
+          "anchor": "send-discuss-mail"
+        },
+        {
+          "title": "Work On It, Or Create Subtask For It",
+          "children": [],
+          "anchor": "work-on-it,-or-create-subtask-for-it"
+        },
+        {
+          "title": "Close After It Done",
+          "children": [],
+          "anchor": "close-after-it-done"
+        }
+      ],
+      "anchor": "dsip-process"
+    },
+    {
+      "title": "An Example For DSIP",
+      "children": [
+        {
+          "title": "Current DSIPs",
+          "children": [],
+          "anchor": "current-dsips"
+        },
+        {
+          "title": "Past DSIPs",
+          "children": [],
+          "anchor": "past-dsips"
+        },
+        {
+          "title": "Create GitHub Issue",
+          "children": [],
+          "anchor": "create-github-issue"
+        },
+        {
+          "title": "Send Discuss Mail",
+          "children": [],
+          "anchor": "send-discuss-mail"
+        },
+        {
+          "title": "Work On It, Or Create Subtask For It",
+          "children": [],
+          "anchor": "work-on-it,-or-create-subtask-for-it"
+        },
+        {
+          "title": "Close After It Done",
+          "children": [],
+          "anchor": "close-after-it-done"
+        }
+      ],
+      "anchor": "an-example-for-dsip"
+    }
+  ],
+  "title": "DSIP",
+  "link": "/DSIP"
+}
\ No newline at end of file
diff --git a/pages/doc/en-us/3.3.2/about/features.json b/pages/doc/en-us/3.3.2/about/features.json
new file mode 100644
index 0000000000..b4b04841e3
--- /dev/null
+++ b/pages/doc/en-us/3.3.2/about/features.json
@@ -0,0 +1,32 @@
+{
+  "__html": "<h1 id=\"features\">Features</h1>\n<h2 id=\"simple-to-use\">Simple to Use</h2>\n<ul>\n<li><strong>Visual DAG</strong>: User-friendly drag-and-drop workflow definition and facility for run-time control.</li>\n<li><strong>Modular Operation</strong>: Modularity facilitates easy customization and maintenance.</li>\n</ul>\n<h2 id=\"rich-scenarios\">Rich Scenarios</h2>\n<ul>\n<li><strong>Multiple Task Type Support</strong>: Supports more than 10 task types, like Shell, MR, Spark,  [...]
+  "location": [
+    "About",
+    "Features"
+  ],
+  "time": "2025-10-30",
+  "structure": [
+    {
+      "title": "Simple to Use",
+      "children": [],
+      "anchor": "simple-to-use"
+    },
+    {
+      "title": "Rich Scenarios",
+      "children": [],
+      "anchor": "rich-scenarios"
+    },
+    {
+      "title": "High Reliability",
+      "children": [],
+      "anchor": "high-reliability"
+    },
+    {
+      "title": "High Scalability",
+      "children": [],
+      "anchor": "high-scalability"
+    }
+  ],
+  "title": "Features",
+  "link": "/about/features"
+}
\ No newline at end of file
diff --git a/pages/doc/en-us/3.3.2/about/glossary.json b/pages/doc/en-us/3.3.2/about/glossary.json
new file mode 100644
index 0000000000..cda86bd5b7
--- /dev/null
+++ b/pages/doc/en-us/3.3.2/about/glossary.json
@@ -0,0 +1,33 @@
+{
+  "__html": "<h2 id=\"system-architecture-design\">System Architecture Design</h2>\n<p>Before explaining the architecture of the scheduling system, let's first understand the commonly used terms of the\nscheduling system</p>\n<h3 id=\"1.glossary\">1.Glossary</h3>\n<p><strong>DAG:</strong> The full name is Directed Acyclic Graph, referred to as DAG. Tasks in the workflow are assembled in the\nform of a directed acyclic graph, and topological traversal is performed from nodes with zero in- [...]
+  "location": [
+    "About",
+    "Glossary"
+  ],
+  "time": "2025-10-30",
+  "structure": [
+    {
+      "title": "System Architecture Design",
+      "children": [
+        {
+          "title": "1.Glossary",
+          "children": [],
+          "anchor": "1.glossary"
+        },
+        {
+          "title": "2.Module introduction",
+          "children": [],
+          "anchor": "2.module-introduction"
+        },
+        {
+          "title": "Sum up",
+          "children": [],
+          "anchor": "sum-up"
+        }
+      ],
+      "anchor": "system-architecture-design"
+    }
+  ],
+  "title": "System Architecture Design",
+  "link": "/about/glossary"
+}
\ No newline at end of file
diff --git a/pages/doc/en-us/3.3.2/about/hardware.json b/pages/doc/en-us/3.3.2/about/hardware.json
new file mode 100644
index 0000000000..8062597184
--- /dev/null
+++ b/pages/doc/en-us/3.3.2/about/hardware.json
@@ -0,0 +1,67 @@
+{
+  "__html": "<h1 id=\"hardware-environment\">Hardware Environment</h1>\n<p>This section briefs about the hardware requirements for DolphinScheduler. DolphinScheduler works as an open-source distributed workflow task scheduling system. It can deploy and run smoothly in Intel architecture server environments and mainstream virtualization environments. It also supports mainstream Linux operating system environments and ARM architecture.</p>\n<h2 id=\"linux-operating-system-version-requireme [...]
+  "location": [
+    "About",
+    "Hardware Environment"
+  ],
+  "time": "2025-10-30",
+  "structure": [
+    {
+      "title": "Linux Operating System Version Requirements",
+      "children": [
+        {
+          "title": "Production Environment",
+          "children": [],
+          "anchor": "production-environment"
+        }
+      ],
+      "anchor": "linux-operating-system-version-requirements"
+    },
+    {
+      "title": "Server Configuration",
+      "children": [
+        {
+          "title": "Production Environment",
+          "children": [],
+          "anchor": "production-environment"
+        }
+      ],
+      "anchor": "server-configuration"
+    },
+    {
+      "title": "Network Requirements",
+      "children": [
+        {
+          "title": "Production Environment",
+          "children": [],
+          "anchor": "production-environment"
+        }
+      ],
+      "anchor": "network-requirements"
+    },
+    {
+      "title": "Browser Requirements",
+      "children": [
+        {
+          "title": "Production Environment",
+          "children": [],
+          "anchor": "production-environment"
+        }
+      ],
+      "anchor": "browser-requirements"
+    },
+    {
+      "title": "Synchronize clocks",
+      "children": [
+        {
+          "title": "Production Environment",
+          "children": [],
+          "anchor": "production-environment"
+        }
+      ],
+      "anchor": "synchronize-clocks"
+    }
+  ],
+  "title": "Hardware Environment",
+  "link": "/about/hardware"
+}
\ No newline at end of file
diff --git a/pages/doc/en-us/3.3.2/about/introduction.json b/pages/doc/en-us/3.3.2/about/introduction.json
new file mode 100644
index 0000000000..f14014dec0
--- /dev/null
+++ b/pages/doc/en-us/3.3.2/about/introduction.json
@@ -0,0 +1,11 @@
+{
+  "__html": "<h1 id=\"about-dolphinscheduler\">About DolphinScheduler</h1>\n<p>Apache DolphinScheduler provides a distributed and easy to expand visual workflow task scheduling open-source platform. It is suitable for enterprise-level scenarios. It provides a solution to visualize operation tasks, workflows, and the entire data processing procedures.</p>\n<p>Apache DolphinScheduler aims to solve complex big data task dependencies and to trigger relationships in data OPS orchestration for [...]
+  "location": [
+    "About",
+    "Introduction"
+  ],
+  "time": "2025-10-30",
+  "structure": [],
+  "title": "About DolphinScheduler",
+  "link": "/about/introduction"
+}
\ No newline at end of file
diff --git a/pages/doc/en-us/3.3.2/architecture/cache.json b/pages/doc/en-us/3.3.2/architecture/cache.json
new file mode 100644
index 0000000000..5532f23bb3
--- /dev/null
+++ b/pages/doc/en-us/3.3.2/architecture/cache.json
@@ -0,0 +1,11 @@
+{
+  "__html": "",
+  "location": [
+    "Architecture Guide",
+    "Cache"
+  ],
+  "time": "2025-10-30",
+  "structure": [],
+  "title": "",
+  "link": "/architecture/cache"
+}
\ No newline at end of file
diff --git a/pages/doc/en-us/3.3.2/architecture/configuration.json b/pages/doc/en-us/3.3.2/architecture/configuration.json
new file mode 100644
index 0000000000..e883d1d111
--- /dev/null
+++ b/pages/doc/en-us/3.3.2/architecture/configuration.json
@@ -0,0 +1,195 @@
+{
+  "__html": "<!-- markdown-link-check-disable -->\n<h1 id=\"configuration\">Configuration</h1>\n<h2 id=\"preface\">Preface</h2>\n<p>This document explains the DolphinScheduler application configurations.</p>\n<h2 id=\"directory-structure\">Directory Structure</h2>\n<p>The directory structure of DolphinScheduler is as follows:</p>\n<pre><code>├── LICENSE\n│\n├── NOTICE\n│\n├── licenses                                    directory of licenses\n│\n├── bin                                     [...]
+  "location": [
+    "Architecture Guide",
+    "Configuration File"
+  ],
+  "time": "2025-10-30",
+  "structure": [
+    {
+      "title": "Preface",
+      "children": [
+        {
+          "title": "dolphinscheduler-daemon.sh [startup or shutdown DolphinScheduler application]",
+          "children": [],
+          "anchor": "dolphinscheduler-daemon.sh-[startup-or-shutdown-dolphinscheduler-application]"
+        },
+        {
+          "title": "Database connection related configuration",
+          "children": [],
+          "anchor": "database-connection-related-configuration"
+        },
+        {
+          "title": "Registry Related configuration",
+          "children": [],
+          "anchor": "registry-related-configuration"
+        },
+        {
+          "title": "common.properties [hadoop、s3、yarn config properties]",
+          "children": [],
+          "anchor": "common.properties-[hadoop、s3、yarn-config-properties]"
+        },
+        {
+          "title": "Api-server related configuration",
+          "children": [],
+          "anchor": "api-server-related-configuration"
+        },
+        {
+          "title": "Master Server related configuration",
+          "children": [],
+          "anchor": "master-server-related-configuration"
+        },
+        {
+          "title": "Worker Server related configuration",
+          "children": [],
+          "anchor": "worker-server-related-configuration"
+        },
+        {
+          "title": "Alert Server related configuration",
+          "children": [],
+          "anchor": "alert-server-related-configuration"
+        },
+        {
+          "title": "Quartz related configuration",
+          "children": [],
+          "anchor": "quartz-related-configuration"
+        },
+        {
+          "title": "dolphinscheduler_env.sh [load environment variables configs]",
+          "children": [],
+          "anchor": "dolphinscheduler_env.sh-[load-environment-variables-configs]"
+        },
+        {
+          "title": "Log related configuration",
+          "children": [],
+          "anchor": "log-related-configuration"
+        }
+      ],
+      "anchor": "preface"
+    },
+    {
+      "title": "Directory Structure",
+      "children": [
+        {
+          "title": "dolphinscheduler-daemon.sh [startup or shutdown DolphinScheduler application]",
+          "children": [],
+          "anchor": "dolphinscheduler-daemon.sh-[startup-or-shutdown-dolphinscheduler-application]"
+        },
+        {
+          "title": "Database connection related configuration",
+          "children": [],
+          "anchor": "database-connection-related-configuration"
+        },
+        {
+          "title": "Registry Related configuration",
+          "children": [],
+          "anchor": "registry-related-configuration"
+        },
+        {
+          "title": "common.properties [hadoop、s3、yarn config properties]",
+          "children": [],
+          "anchor": "common.properties-[hadoop、s3、yarn-config-properties]"
+        },
+        {
+          "title": "Api-server related configuration",
+          "children": [],
+          "anchor": "api-server-related-configuration"
+        },
+        {
+          "title": "Master Server related configuration",
+          "children": [],
+          "anchor": "master-server-related-configuration"
+        },
+        {
+          "title": "Worker Server related configuration",
+          "children": [],
+          "anchor": "worker-server-related-configuration"
+        },
+        {
+          "title": "Alert Server related configuration",
+          "children": [],
+          "anchor": "alert-server-related-configuration"
+        },
+        {
+          "title": "Quartz related configuration",
+          "children": [],
+          "anchor": "quartz-related-configuration"
+        },
+        {
+          "title": "dolphinscheduler_env.sh [load environment variables configs]",
+          "children": [],
+          "anchor": "dolphinscheduler_env.sh-[load-environment-variables-configs]"
+        },
+        {
+          "title": "Log related configuration",
+          "children": [],
+          "anchor": "log-related-configuration"
+        }
+      ],
+      "anchor": "directory-structure"
+    },
+    {
+      "title": "Configurations in Details",
+      "children": [
+        {
+          "title": "dolphinscheduler-daemon.sh [startup or shutdown DolphinScheduler application]",
+          "children": [],
+          "anchor": "dolphinscheduler-daemon.sh-[startup-or-shutdown-dolphinscheduler-application]"
+        },
+        {
+          "title": "Database connection related configuration",
+          "children": [],
+          "anchor": "database-connection-related-configuration"
+        },
+        {
+          "title": "Registry Related configuration",
+          "children": [],
+          "anchor": "registry-related-configuration"
+        },
+        {
+          "title": "common.properties [hadoop、s3、yarn config properties]",
+          "children": [],
+          "anchor": "common.properties-[hadoop、s3、yarn-config-properties]"
+        },
+        {
+          "title": "Api-server related configuration",
+          "children": [],
+          "anchor": "api-server-related-configuration"
+        },
+        {
+          "title": "Master Server related configuration",
+          "children": [],
+          "anchor": "master-server-related-configuration"
+        },
+        {
+          "title": "Worker Server related configuration",
+          "children": [],
+          "anchor": "worker-server-related-configuration"
+        },
+        {
+          "title": "Alert Server related configuration",
+          "children": [],
+          "anchor": "alert-server-related-configuration"
+        },
+        {
+          "title": "Quartz related configuration",
+          "children": [],
+          "anchor": "quartz-related-configuration"
+        },
+        {
+          "title": "dolphinscheduler_env.sh [load environment variables configs]",
+          "children": [],
+          "anchor": "dolphinscheduler_env.sh-[load-environment-variables-configs]"
+        },
+        {
+          "title": "Log related configuration",
+          "children": [],
+          "anchor": "log-related-configuration"
+        }
+      ],
+      "anchor": "configurations-in-details"
+    }
+  ],
+  "title": "Configuration",
+  "link": "/architecture/configuration"
+}
\ No newline at end of file
diff --git a/pages/doc/en-us/3.3.2/architecture/design.json b/pages/doc/en-us/3.3.2/architecture/design.json
new file mode 100644
index 0000000000..1bfcbb7d10
--- /dev/null
+++ b/pages/doc/en-us/3.3.2/architecture/design.json
@@ -0,0 +1,1320 @@
+{
+  "__html": "<h1 id=\"system-architecture-design\">System Architecture Design</h1>\n<h2 id=\"system-structure\">System Structure</h2>\n<h3 id=\"system-architecture-diagram\">System Architecture Diagram</h3>\n<p align=\"center\">\n  <img src=\"/img/architecture-lastest.jpg\" alt=\"System architecture diagram\"  width=\"70%\" />\n  <p align=\"center\">\n        <em>System architecture diagram</em>\n  </p>\n</p>\n<h3 id=\"start-process-activity-diagram\">Start Process Activity Diagram</h3>\ [...]
+  "location": [
+    "Architecture Guide",
+    "Architecture Design"
+  ],
+  "time": "2025-10-30",
+  "structure": [
+    {
+      "title": "System Structure",
+      "children": [
+        {
+          "title": "System Architecture Diagram",
+          "children": [
+            {
+              "title": "The Service Mainly Includes:",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "the-service-mainly-includes:"
+            },
+            {
+              "title": "The Service Mainly Includes:",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "the-service-mainly-includes:"
+            },
+            {
+              "title": "Decentralization VS Centralization",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "decentralization-vs-centralization"
+            },
+            {
+              "title": "Fault-Tolerant Design",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "fault-tolerant-design"
+            },
+            {
+              "title": "Task Priority Design",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "task-priority-design"
+            },
+            {
+              "title": "Logback and Netty Implement Log Access",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "logback-and-netty-implement-log-access"
+            }
+          ],
+          "anchor": "system-architecture-diagram"
+        },
+        {
+          "title": "Start Process Activity Diagram",
+          "children": [
+            {
+              "title": "The Service Mainly Includes:",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "the-service-mainly-includes:"
+            },
+            {
+              "title": "The Service Mainly Includes:",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "the-service-mainly-includes:"
+            },
+            {
+              "title": "Decentralization VS Centralization",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "decentralization-vs-centralization"
+            },
+            {
+              "title": "Fault-Tolerant Design",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "fault-tolerant-design"
+            },
+            {
+              "title": "Task Priority Design",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "task-priority-design"
+            },
+            {
+              "title": "Logback and Netty Implement Log Access",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "logback-and-netty-implement-log-access"
+            }
+          ],
+          "anchor": "start-process-activity-diagram"
+        },
+        {
+          "title": "Architecture Description",
+          "children": [
+            {
+              "title": "The Service Mainly Includes:",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "the-service-mainly-includes:"
+            },
+            {
+              "title": "The Service Mainly Includes:",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "the-service-mainly-includes:"
+            },
+            {
+              "title": "Decentralization VS Centralization",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "decentralization-vs-centralization"
+            },
+            {
+              "title": "Fault-Tolerant Design",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "fault-tolerant-design"
+            },
+            {
+              "title": "Task Priority Design",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "task-priority-design"
+            },
+            {
+              "title": "Logback and Netty Implement Log Access",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "logback-and-netty-implement-log-access"
+            }
+          ],
+          "anchor": "architecture-description"
+        },
+        {
+          "title": "Architecture Design Ideas",
+          "children": [
+            {
+              "title": "The Service Mainly Includes:",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "the-service-mainly-includes:"
+            },
+            {
+              "title": "The Service Mainly Includes:",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "the-service-mainly-includes:"
+            },
+            {
+              "title": "Decentralization VS Centralization",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "decentralization-vs-centralization"
+            },
+            {
+              "title": "Fault-Tolerant Design",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "fault-tolerant-design"
+            },
+            {
+              "title": "Task Priority Design",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "task-priority-design"
+            },
+            {
+              "title": "Logback and Netty Implement Log Access",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "logback-and-netty-implement-log-access"
+            }
+          ],
+          "anchor": "architecture-design-ideas"
+        }
+      ],
+      "anchor": "system-structure"
+    },
+    {
+      "title": "Sum Up",
+      "children": [
+        {
+          "title": "System Architecture Diagram",
+          "children": [
+            {
+              "title": "The Service Mainly Includes:",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "the-service-mainly-includes:"
+            },
+            {
+              "title": "The Service Mainly Includes:",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "the-service-mainly-includes:"
+            },
+            {
+              "title": "Decentralization VS Centralization",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "decentralization-vs-centralization"
+            },
+            {
+              "title": "Fault-Tolerant Design",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "fault-tolerant-design"
+            },
+            {
+              "title": "Task Priority Design",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "task-priority-design"
+            },
+            {
+              "title": "Logback and Netty Implement Log Access",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "logback-and-netty-implement-log-access"
+            }
+          ],
+          "anchor": "system-architecture-diagram"
+        },
+        {
+          "title": "Start Process Activity Diagram",
+          "children": [
+            {
+              "title": "The Service Mainly Includes:",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "the-service-mainly-includes:"
+            },
+            {
+              "title": "The Service Mainly Includes:",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "the-service-mainly-includes:"
+            },
+            {
+              "title": "Decentralization VS Centralization",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "decentralization-vs-centralization"
+            },
+            {
+              "title": "Fault-Tolerant Design",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "fault-tolerant-design"
+            },
+            {
+              "title": "Task Priority Design",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "task-priority-design"
+            },
+            {
+              "title": "Logback and Netty Implement Log Access",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "logback-and-netty-implement-log-access"
+            }
+          ],
+          "anchor": "start-process-activity-diagram"
+        },
+        {
+          "title": "Architecture Description",
+          "children": [
+            {
+              "title": "The Service Mainly Includes:",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "the-service-mainly-includes:"
+            },
+            {
+              "title": "The Service Mainly Includes:",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "the-service-mainly-includes:"
+            },
+            {
+              "title": "Decentralization VS Centralization",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "decentralization-vs-centralization"
+            },
+            {
+              "title": "Fault-Tolerant Design",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "fault-tolerant-design"
+            },
+            {
+              "title": "Task Priority Design",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "task-priority-design"
+            },
+            {
+              "title": "Logback and Netty Implement Log Access",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "logback-and-netty-implement-log-access"
+            }
+          ],
+          "anchor": "architecture-description"
+        },
+        {
+          "title": "Architecture Design Ideas",
+          "children": [
+            {
+              "title": "The Service Mainly Includes:",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "the-service-mainly-includes:"
+            },
+            {
+              "title": "The Service Mainly Includes:",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "the-service-mainly-includes:"
+            },
+            {
+              "title": "Decentralization VS Centralization",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "decentralization-vs-centralization"
+            },
+            {
+              "title": "Fault-Tolerant Design",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "fault-tolerant-design"
+            },
+            {
+              "title": "Task Priority Design",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "task-priority-design"
+            },
+            {
+              "title": "Logback and Netty Implement Log Access",
+              "children": [
+                {
+                  "title": "Centralized Thinking",
+                  "children": [],
+                  "anchor": "centralized-thinking"
+                },
+                {
+                  "title": "Decentralized",
+                  "children": [],
+                  "anchor": "decentralized"
+                },
+                {
+                  "title": "Downtime Fault Tolerance",
+                  "children": [],
+                  "anchor": "downtime-fault-tolerance"
+                },
+                {
+                  "title": "Task Failed and Try Again",
+                  "children": [],
+                  "anchor": "task-failed-and-try-again"
+                }
+              ],
+              "anchor": "logback-and-netty-implement-log-access"
+            }
+          ],
+          "anchor": "architecture-design-ideas"
+        }
+      ],
+      "anchor": "sum-up"
+    }
+  ],
+  "title": "System Architecture Design",
+  "link": "/architecture/design"
+}
\ No newline at end of file
diff --git a/pages/doc/en-us/3.3.2/architecture/load-balance.json b/pages/doc/en-us/3.3.2/architecture/load-balance.json
new file mode 100644
index 0000000000..0d400942a8
--- /dev/null
+++ b/pages/doc/en-us/3.3.2/architecture/load-balance.json
@@ -0,0 +1,105 @@
+{
+  "__html": "<h1 id=\"load-balance\">Load Balance</h1>\n<p>Load balancing refers to the reasonable allocation of server pressure through routing algorithms (usually in cluster environments) to achieve the maximum optimization of server performance.</p>\n<h2 id=\"dolphinscheduler-worker-load-balancing-algorithms\">DolphinScheduler-Worker Load Balancing Algorithms</h2>\n<p>DolphinScheduler-Master allocates tasks to workers, and by default provides three algorithms:</p>\n<ul>\n<li>\n<p>Weig [...]
+  "location": [
+    "Architecture Guide",
+    "Load Balance"
+  ],
+  "time": "2025-10-30",
+  "structure": [
+    {
+      "title": "DolphinScheduler-Worker Load Balancing Algorithms",
+      "children": [
+        {
+          "title": "Weight",
+          "children": [],
+          "anchor": "weight"
+        },
+        {
+          "title": "Preheating",
+          "children": [],
+          "anchor": "preheating"
+        },
+        {
+          "title": "Random (Weighted)",
+          "children": [],
+          "anchor": "random-(weighted)"
+        },
+        {
+          "title": "Smoothed Polling (Weighted)",
+          "children": [],
+          "anchor": "smoothed-polling-(weighted)"
+        },
+        {
+          "title": "Linear Weighting (Default Algorithm)",
+          "children": [],
+          "anchor": "linear-weighting-(default-algorithm)"
+        }
+      ],
+      "anchor": "dolphinscheduler-worker-load-balancing-algorithms"
+    },
+    {
+      "title": "Worker Load Balancing Configuration",
+      "children": [
+        {
+          "title": "Weight",
+          "children": [],
+          "anchor": "weight"
+        },
+        {
+          "title": "Preheating",
+          "children": [],
+          "anchor": "preheating"
+        },
+        {
+          "title": "Random (Weighted)",
+          "children": [],
+          "anchor": "random-(weighted)"
+        },
+        {
+          "title": "Smoothed Polling (Weighted)",
+          "children": [],
+          "anchor": "smoothed-polling-(weighted)"
+        },
+        {
+          "title": "Linear Weighting (Default Algorithm)",
+          "children": [],
+          "anchor": "linear-weighting-(default-algorithm)"
+        }
+      ],
+      "anchor": "worker-load-balancing-configuration"
+    },
+    {
+      "title": "Load Balancing Algorithm in Details",
+      "children": [
+        {
+          "title": "Weight",
+          "children": [],
+          "anchor": "weight"
+        },
+        {
+          "title": "Preheating",
+          "children": [],
+          "anchor": "preheating"
+        },
+        {
+          "title": "Random (Weighted)",
+          "children": [],
+          "anchor": "random-(weighted)"
+        },
+        {
+          "title": "Smoothed Polling (Weighted)",
+          "children": [],
+          "anchor": "smoothed-polling-(weighted)"
+        },
+        {
+          "title": "Linear Weighting (Default Algorithm)",
+          "children": [],
+          "anchor": "linear-weighting-(default-algorithm)"
+        }
+      ],
+      "anchor": "load-balancing-algorithm-in-details"
+    }
+  ],
+  "title": "Load Balance",
+  "link": "/architecture/load-balance"
+}
\ No newline at end of file
diff --git a/pages/doc/en-us/3.3.2/architecture/metadata.json b/pages/doc/en-us/3.3.2/architecture/metadata.json
new file mode 100644
index 0000000000..53e5b1a7a1
--- /dev/null
+++ b/pages/doc/en-us/3.3.2/architecture/metadata.json
@@ -0,0 +1,64 @@
+{
+  "__html": "<h1 id=\"metadata\">MetaData</h1>\n<h2 id=\"table-schema\">Table Schema</h2>\n<p>see sql files in <code>dolphinscheduler/dolphinscheduler-dao/src/main/resources/sql</code></p>\n<hr>\n<h2 id=\"e-r-diagram\">E-R Diagram</h2>\n<h3 id=\"user-queue-datasource\">User Queue DataSource</h3>\n<p><img src=\"/img/metadata-erd/user-queue-datasource.png\" alt=\"image.png\"></p>\n<ul>\n<li>One tenant can own Multiple users.</li>\n<li>The queue field in the <code>t_ds_user</code> table sto [...]
+  "location": [
+    "Architecture Guide",
+    "Metadata"
+  ],
+  "time": "2025-10-30",
+  "structure": [
+    {
+      "title": "Table Schema",
+      "children": [
+        {
+          "title": "User Queue DataSource",
+          "children": [],
+          "anchor": "user-queue-datasource"
+        },
+        {
+          "title": "Project Resource Alert",
+          "children": [],
+          "anchor": "project-resource-alert"
+        },
+        {
+          "title": "Project - Tenant - ProcessDefinition - Schedule",
+          "children": [],
+          "anchor": "project---tenant---processdefinition---schedule"
+        },
+        {
+          "title": "Process Definition Execution",
+          "children": [],
+          "anchor": "process-definition-execution"
+        }
+      ],
+      "anchor": "table-schema"
+    },
+    {
+      "title": "E-R Diagram",
+      "children": [
+        {
+          "title": "User Queue DataSource",
+          "children": [],
+          "anchor": "user-queue-datasource"
+        },
+        {
+          "title": "Project Resource Alert",
+          "children": [],
+          "anchor": "project-resource-alert"
+        },
+        {
+          "title": "Project - Tenant - ProcessDefinition - Schedule",
+          "children": [],
+          "anchor": "project---tenant---processdefinition---schedule"
+        },
+        {
+          "title": "Process Definition Execution",
+          "children": [],
+          "anchor": "process-definition-execution"
+        }
+      ],
+      "anchor": "e-r-diagram"
+    }
+  ],
+  "title": "MetaData",
+  "link": "/architecture/metadata"
+}
\ No newline at end of file
diff --git a/pages/doc/en-us/3.3.2/architecture/task-structure.json b/pages/doc/en-us/3.3.2/architecture/task-structure.json
new file mode 100644
index 0000000000..351943c28a
--- /dev/null
+++ b/pages/doc/en-us/3.3.2/architecture/task-structure.json
@@ -0,0 +1,154 @@
+{
+  "__html": "<h1 id=\"task-structure\">Task Structure</h1>\n<h2 id=\"overall-tasks-storage-structure\">Overall Tasks Storage Structure</h2>\n<p>All tasks in DolphinScheduler are saved in the <code>t_ds_process_definition</code> table.</p>\n<p>The following shows the <code>t_ds_process_definition</code> table structure:</p>\n<table>\n<thead>\n<tr>\n<th>No.</th>\n<th>field</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td>id</td>\n<td>int(11)</td>\n [...]
+  "location": [
+    "Architecture Guide",
+    "Task Structure"
+  ],
+  "time": "2025-10-30",
+  "structure": [
+    {
+      "title": "Overall Tasks Storage Structure",
+      "children": [
+        {
+          "title": "Shell Nodes",
+          "children": [],
+          "anchor": "shell-nodes"
+        },
+        {
+          "title": "SQL Node",
+          "children": [],
+          "anchor": "sql-node"
+        },
+        {
+          "title": "Procedure [stored procedures] Node",
+          "children": [],
+          "anchor": "procedure-[stored-procedures]-node"
+        },
+        {
+          "title": "Spark Node",
+          "children": [],
+          "anchor": "spark-node"
+        },
+        {
+          "title": "MapReduce(MR) Node",
+          "children": [],
+          "anchor": "mapreduce(mr)-node"
+        },
+        {
+          "title": "Python Node",
+          "children": [],
+          "anchor": "python-node"
+        },
+        {
+          "title": "Flink Node",
+          "children": [],
+          "anchor": "flink-node"
+        },
+        {
+          "title": "HTTP Node",
+          "children": [],
+          "anchor": "http-node"
+        },
+        {
+          "title": "DataX Node",
+          "children": [],
+          "anchor": "datax-node"
+        },
+        {
+          "title": "Sqoop Node",
+          "children": [],
+          "anchor": "sqoop-node"
+        },
+        {
+          "title": "Condition Branch Node",
+          "children": [],
+          "anchor": "condition-branch-node"
+        },
+        {
+          "title": "Subprocess Node",
+          "children": [],
+          "anchor": "subprocess-node"
+        },
+        {
+          "title": "DEPENDENT Node",
+          "children": [],
+          "anchor": "dependent-node"
+        }
+      ],
+      "anchor": "overall-tasks-storage-structure"
+    },
+    {
+      "title": "The Detailed Explanation of The Storage Structure of Each Task Type",
+      "children": [
+        {
+          "title": "Shell Nodes",
+          "children": [],
+          "anchor": "shell-nodes"
+        },
+        {
+          "title": "SQL Node",
+          "children": [],
+          "anchor": "sql-node"
+        },
+        {
+          "title": "Procedure [stored procedures] Node",
+          "children": [],
+          "anchor": "procedure-[stored-procedures]-node"
+        },
+        {
+          "title": "Spark Node",
+          "children": [],
+          "anchor": "spark-node"
+        },
+        {
+          "title": "MapReduce(MR) Node",
+          "children": [],
+          "anchor": "mapreduce(mr)-node"
+        },
+        {
+          "title": "Python Node",
+          "children": [],
+          "anchor": "python-node"
+        },
+        {
+          "title": "Flink Node",
+          "children": [],
+          "anchor": "flink-node"
+        },
+        {
+          "title": "HTTP Node",
+          "children": [],
+          "anchor": "http-node"
+        },
+        {
+          "title": "DataX Node",
+          "children": [],
+          "anchor": "datax-node"
+        },
+        {
+          "title": "Sqoop Node",
+          "children": [],
+          "anchor": "sqoop-node"
+        },
+        {
+          "title": "Condition Branch Node",
+          "children": [],
+          "anchor": "condition-branch-node"
+        },
+        {
+          "title": "Subprocess Node",
+          "children": [],
+          "anchor": "subprocess-node"
+        },
+        {
+          "title": "DEPENDENT Node",
+          "children": [],
+          "anchor": "dependent-node"
+        }
+      ],
+      "anchor": "the-detailed-explanation-of-the-storage-structure-of-each-task-type"
+    }
+  ],
+  "title": "Task Structure",
+  "link": "/architecture/task-structure"
+}
\ No newline at end of file
diff --git a/pages/doc/en-us/3.3.2/contribute/api-standard.json b/pages/doc/en-us/3.3.2/contribute/api-standard.json
new file mode 100644
index 0000000000..63859f631a
--- /dev/null
+++ b/pages/doc/en-us/3.3.2/contribute/api-standard.json
@@ -0,0 +1,177 @@
+{
+  "__html": "<h1 id=\"api-design-standard\">API design standard</h1>\n<p>A standardized and unified API is the cornerstone of project design.The API of DolphinScheduler follows the REST ful standard. REST ful is currently the most popular Internet software architecture. It has a clear structure, conforms to standards, is easy to understand and extend.</p>\n<p>This article uses the DolphinScheduler API as an example to explain how to construct a Restful API.</p>\n<h2 id=\"1.-uri-design\"> [...]
+  "location": [
+    "Contribution",
+    "Guidelines",
+    "API Standard"
+  ],
+  "time": "2025-10-30",
+  "structure": [
+    {
+      "title": "1. URI design",
+      "children": [
+        {
+          "title": "① Query - GET",
+          "children": [],
+          "anchor": "①-query---get"
+        },
+        {
+          "title": "② Create - POST",
+          "children": [],
+          "anchor": "②-create---post"
+        },
+        {
+          "title": "③ Modify - PUT",
+          "children": [],
+          "anchor": "③-modify---put"
+        },
+        {
+          "title": "④ Delete -DELETE",
+          "children": [],
+          "anchor": "④-delete--delete"
+        },
+        {
+          "title": "⑤ Partial Modifications -PATCH",
+          "children": [],
+          "anchor": "⑤-partial-modifications--patch"
+        },
+        {
+          "title": "⑥ Others",
+          "children": [],
+          "anchor": "⑥-others"
+        },
+        {
+          "title": "base URL",
+          "children": [],
+          "anchor": "base-url"
+        }
+      ],
+      "anchor": "1.-uri-design"
+    },
+    {
+      "title": "2. Method design",
+      "children": [
+        {
+          "title": "① Query - GET",
+          "children": [],
+          "anchor": "①-query---get"
+        },
+        {
+          "title": "② Create - POST",
+          "children": [],
+          "anchor": "②-create---post"
+        },
+        {
+          "title": "③ Modify - PUT",
+          "children": [],
+          "anchor": "③-modify---put"
+        },
+        {
+          "title": "④ Delete -DELETE",
+          "children": [],
+          "anchor": "④-delete--delete"
+        },
+        {
+          "title": "⑤ Partial Modifications -PATCH",
+          "children": [],
+          "anchor": "⑤-partial-modifications--patch"
+        },
+        {
+          "title": "⑥ Others",
+          "children": [],
+          "anchor": "⑥-others"
+        },
+        {
+          "title": "base URL",
+          "children": [],
+          "anchor": "base-url"
+        }
+      ],
+      "anchor": "2.-method-design"
+    },
+    {
+      "title": "3. Parameter design",
+      "children": [
+        {
+          "title": "① Query - GET",
+          "children": [],
+          "anchor": "①-query---get"
+        },
+        {
+          "title": "② Create - POST",
+          "children": [],
+          "anchor": "②-create---post"
+        },
+        {
+          "title": "③ Modify - PUT",
+          "children": [],
+          "anchor": "③-modify---put"
+        },
+        {
+          "title": "④ Delete -DELETE",
+          "children": [],
+          "anchor": "④-delete--delete"
+        },
+        {
+          "title": "⑤ Partial Modifications -PATCH",
+          "children": [],
+          "anchor": "⑤-partial-modifications--patch"
+        },
+        {
+          "title": "⑥ Others",
+          "children": [],
+          "anchor": "⑥-others"
+        },
+        {
+          "title": "base URL",
+          "children": [],
+          "anchor": "base-url"
+        }
+      ],
+      "anchor": "3.-parameter-design"
+    },
+    {
+      "title": "4. Others design",
+      "children": [
+        {
+          "title": "① Query - GET",
+          "children": [],
+          "anchor": "①-query---get"
+        },
+        {
+          "title": "② Create - POST",
+          "children": [],
+          "anchor": "②-create---post"
+        },
+        {
+          "title": "③ Modify - PUT",
+          "children": [],
+          "anchor": "③-modify---put"
+        },
+        {
+          "title": "④ Delete -DELETE",
+          "children": [],
+          "anchor": "④-delete--delete"
+        },
+        {
+          "title": "⑤ Partial Modifications -PATCH",
+          "children": [],
+          "anchor": "⑤-partial-modifications--patch"
+        },
+        {
+          "title": "⑥ Others",
+          "children": [],
+          "anchor": "⑥-others"
+        },
+        {
+          "title": "base URL",
+          "children": [],
+          "anchor": "base-url"
+        }
+      ],
+      "anchor": "4.-others-design"
+    }
+  ],
+  "title": "API design standard",
+  "link": "/contribute/api-standard"
+}
\ No newline at end of file
diff --git a/pages/doc/en-us/3.3.2/contribute/api-test.json b/pages/doc/en-us/3.3.2/contribute/api-test.json
new file mode 100644
index 0000000000..cf0be12861
--- /dev/null
... 125906 lines suppressed ...