You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uniffle.apache.org by gi...@apache.org on 2023/12/14 05:57:17 UTC

(incubator-uniffle-website) 01/01: deploy: f0bb4aa9aa8336451bd15c5557d8fbe7f5095ec6

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/incubator-uniffle-website.git

commit 29c4e0a107834a0843ec80f7c9ffdeb7c56bd915
Author: xianjingfeng <xi...@users.noreply.github.com>
AuthorDate: Thu Dec 14 05:57:10 2023 +0000

    deploy: f0bb4aa9aa8336451bd15c5557d8fbe7f5095ec6
---
 .asf.yaml                                          |  39 +++++++
 .nojekyll                                          |   0
 404.html                                           |  22 ++++
 assets/css/styles.c92a85d1.css                     |   1 +
 .../aqe-6090c8ed1b91b4b4892a95c69e9a1fb5.png       | Bin 0 -> 148308 bytes
 ...chitecture-19961714e3381cf27bf55e28bd212b00.png | Bin 0 -> 147255 bytes
 .../data_read-31232b8cea5323ffee089e8667ad6226.png | Bin 0 -> 191060 bytes
 ...et_results-71ce542dca970bff80b6d444dbf4081c.png | Bin 0 -> 67869 bytes
 .../gluten-cc81f323d5ee32b7e66bacb4c092cf03.png    | Bin 0 -> 293542 bytes
 ...s_fallback-8716b86a955947ccd6243028edd3e0b6.png | Bin 0 -> 51425 bytes
 .../io_random-93469fcb7b6d912b25abeb3ec2f9b48d.png | Bin 0 -> 50489 bytes
 .../io_sort-4e4445257d6dfd93fcbd173db1ad15ea.png   | Bin 0 -> 42263 bytes
 .../metadata-b4e7588ef03930e4cfdec890e9324e2b.png  | Bin 0 -> 128684 bytes
 .../process-926f89bbddc4b91bcccbb0e3c019025c.png   | Bin 0 -> 49584 bytes
 ...transition-330944efa8bb505a5f33e6fa07a66365.png | Bin 0 -> 71668 bytes
 ...chitecture-a3a32a259b8b40834c295f5f17ce66cb.png | Bin 0 -> 145497 bytes
 ...ata_format-423a8687082f4a77620d97a97b01d204.png | Bin 0 -> 46593 bytes
 ...ffle_write-0018bea428f435c37c6f369defc3a081.png | Bin 0 -> 117406 bytes
 .../select-bbfd10c777e86778f62df639415151e3.png    | Bin 0 -> 164164 bytes
 assets/js/0a4b8562.9d7e1e7a.js                     |   1 +
 assets/js/17896441.31590cc0.js                     |   1 +
 assets/js/1a4e3797.0231b2d7.js                     |   1 +
 assets/js/1be78505.05a4308a.js                     |   1 +
 assets/js/1df93b7f.63559b64.js                     |   1 +
 assets/js/236d553a.0c063cee.js                     |   1 +
 assets/js/2697e8cd.47a3cc9e.js                     |   1 +
 assets/js/26991455.c2149f91.js                     |   1 +
 assets/js/306a8c6c.b7c52ddc.js                     |   1 +
 assets/js/315cc475.43ddf682.js                     |   1 +
 assets/js/36c3b86e.f060ffa5.js                     |   1 +
 assets/js/3a51d15f.c6198ef9.js                     |   1 +
 assets/js/3c4daf9d.4fab045f.js                     |   1 +
 assets/js/492d57dd.cd52b0be.js                     |   1 +
 assets/js/4972.b2062fd1.js                         |   1 +
 assets/js/4f36484c.097b3650.js                     |   1 +
 assets/js/5525.36b2ab15.js                         |   1 +
 assets/js/5665.3fb2cbd0.js                         |   1 +
 assets/js/5fd8e189.845a4205.js                     |   1 +
 assets/js/5fd98138.4fc5b8b9.js                     |   1 +
 assets/js/6048.100b2257.js                         |   1 +
 assets/js/63c2eacd.d8183bdf.js                     |   1 +
 assets/js/814f3328.741a947d.js                     |   1 +
 assets/js/82aa1fce.df469350.js                     |   1 +
 assets/js/8443.30345cef.js                         |   2 +
 assets/js/8443.30345cef.js.LICENSE.txt             |   1 +
 assets/js/90536160.5c43b535.js                     |   1 +
 assets/js/935f2afb.e36d0138.js                     |   1 +
 assets/js/93ca4beb.427d9948.js                     |   1 +
 assets/js/94b8b27b.c5638327.js                     |   1 +
 assets/js/96f77003.f1ab0fbd.js                     |   1 +
 assets/js/9a0f4242.6ab10d62.js                     |   1 +
 assets/js/9e4087bc.32b8fabc.js                     |   1 +
 assets/js/a6aa9e1f.e8c1f1ea.js                     |   1 +
 assets/js/a84996eb.19fcef6e.js                     |   1 +
 assets/js/a94bd1d8.4e7ae262.js                     |   1 +
 assets/js/a9dfc084.3f5cddd9.js                     |   1 +
 assets/js/b06a86ee.1f31c412.js                     |   1 +
 assets/js/b101a1a3.0cff50cb.js                     |   1 +
 assets/js/b2b675dd.be4cb386.js                     |   1 +
 assets/js/b2f554cd.d61be490.js                     |   1 +
 assets/js/c7398828.d91cabe8.js                     |   1 +
 assets/js/c89fd3f9.ce22ca4c.js                     |   1 +
 assets/js/ccc49370.5cfe080a.js                     |   1 +
 assets/js/d49eaa9b.ad9db5a4.js                     |   1 +
 assets/js/e331eb86.e3f69559.js                     |   1 +
 assets/js/e3ac53b1.26ac565e.js                     |   1 +
 assets/js/ea60fead.c06427c9.js                     |   1 +
 assets/js/f810106c.8cc708ab.js                     |   1 +
 assets/js/fed7d42c.ce63fa38.js                     |   1 +
 assets/js/main.bb467f53.js                         |   2 +
 assets/js/main.bb467f53.js.LICENSE.txt             | 125 +++++++++++++++++++++
 assets/js/runtime~main.9411570b.js                 |   1 +
 blog/2023/01/09/2022 summary/index.html            |  23 ++++
 .../index.html                                     |  38 +++++++
 blog/archive/index.html                            |  22 ++++
 blog/atom.xml                                      |  43 +++++++
 blog/index.html                                    |  39 +++++++
 blog/rss.xml                                       |  45 ++++++++
 community/how to contribute/index.html             |  22 ++++
 community/how to release/index.html                |  26 +++++
 community/project committers/index.html            |  22 ++++
 docs/Deploy/coordinator-guide/index.html           |  23 ++++
 docs/Deploy/hardware-provisioning/index.html       |  26 +++++
 docs/Deploy/metrics/index.html                     |  23 ++++
 docs/Deploy/server-guide/index.html                |  22 ++++
 docs/K8s-Operator/examples/index.html              |  24 ++++
 docs/K8s-Operator/install/index.html               |  24 ++++
 .../uniffle-operator-design/index.html             |  31 +++++
 docs/build/index.html                              |  22 ++++
 docs/client-guide/index.html                       |  30 +++++
 docs/configuration/index.html                      |  23 ++++
 docs/intro/index.html                              |  29 +++++
 docs/tuning/index.html                             |  22 ++++
 download/index.html                                |  31 +++++
 download/release-notes-0.6.0/index.html            |  22 ++++
 download/release-notes-0.6.1/index.html            |  22 ++++
 download/release-notes-0.7.0/index.html            |  22 ++++
 download/release-notes-0.7.1/index.html            |  22 ++++
 download/release-notes-0.8.0/index.html            |  22 ++++
 img/apache-incubator.svg                           |   1 +
 img/favicon.ico                                    | Bin 0 -> 9786 bytes
 img/uniffle-logo.png                               | Bin 0 -> 28923 bytes
 index.html                                         |  22 ++++
 search-index.json                                  |   1 +
 search/index.html                                  |  22 ++++
 sitemap.xml                                        |   1 +
 zh-CN/.asf.yaml                                    |  39 +++++++
 zh-CN/.nojekyll                                    |   0
 zh-CN/404.html                                     |  22 ++++
 zh-CN/assets/css/styles.c92a85d1.css               |   1 +
 .../aqe-6090c8ed1b91b4b4892a95c69e9a1fb5.png       | Bin 0 -> 148308 bytes
 ...chitecture-7834d0c01ac53efa9d174f422dce53c7.png | Bin 0 -> 413257 bytes
 .../data_read-ac02ea36c77de94218cd05f37c0aefc5.png | Bin 0 -> 268000 bytes
 ...et_results-71ce542dca970bff80b6d444dbf4081c.png | Bin 0 -> 67869 bytes
 .../gluten-cc81f323d5ee32b7e66bacb4c092cf03.png    | Bin 0 -> 293542 bytes
 ...s_fallback-d0fed05ac57c1a5b847f1722faf7a0d9.png | Bin 0 -> 73133 bytes
 .../io_random-ff932038e6d7a062dd69caf5dd551c40.png | Bin 0 -> 73388 bytes
 .../io_sort-e5f484b4875a3d5304749095a0f2a801.png   | Bin 0 -> 69675 bytes
 .../metadata-8563427393aeb355a2f368b2507948e6.png  | Bin 0 -> 91533 bytes
 .../process-45f0f6011477c8e1a8f46aa2f19181cb.png   | Bin 0 -> 51350 bytes
 ...transition-330944efa8bb505a5f33e6fa07a66365.png | Bin 0 -> 71668 bytes
 ...chitecture-a3a32a259b8b40834c295f5f17ce66cb.png | Bin 0 -> 145497 bytes
 ...ata_format-423a8687082f4a77620d97a97b01d204.png | Bin 0 -> 46593 bytes
 ...ffle_write-0018bea428f435c37c6f369defc3a081.png | Bin 0 -> 117406 bytes
 .../select-d79bdaa68e6d184663ca0364a6f03f26.png    | Bin 0 -> 329060 bytes
 zh-CN/assets/js/0cb89a38.9a023742.js               |   1 +
 zh-CN/assets/js/0ef66a7b.9b81c0c2.js               |   1 +
 zh-CN/assets/js/17896441.31590cc0.js               |   1 +
 zh-CN/assets/js/1a4e3797.0231b2d7.js               |   1 +
 zh-CN/assets/js/1be78505.05a4308a.js               |   1 +
 zh-CN/assets/js/236d553a.d4389768.js               |   1 +
 zh-CN/assets/js/2697e8cd.47a3cc9e.js               |   1 +
 zh-CN/assets/js/26991455.8eae4d3e.js               |   1 +
 zh-CN/assets/js/306a8c6c.386c955d.js               |   1 +
 zh-CN/assets/js/315cc475.88c81916.js               |   1 +
 zh-CN/assets/js/3a51d15f.1fbc3da1.js               |   1 +
 zh-CN/assets/js/3c4daf9d.4fab045f.js               |   1 +
 zh-CN/assets/js/4972.b2062fd1.js                   |   1 +
 zh-CN/assets/js/4f36484c.c1c86b00.js               |   1 +
 zh-CN/assets/js/50bc71d4.44a82ee6.js               |   1 +
 zh-CN/assets/js/5525.36b2ab15.js                   |   1 +
 zh-CN/assets/js/5665.3fb2cbd0.js                   |   1 +
 zh-CN/assets/js/5fd8e189.c64ed0a2.js               |   1 +
 zh-CN/assets/js/5fd98138.24dd31da.js               |   1 +
 zh-CN/assets/js/6048.100b2257.js                   |   1 +
 zh-CN/assets/js/63c2eacd.36422a38.js               |   1 +
 zh-CN/assets/js/814f3328.53968dd9.js               |   1 +
 zh-CN/assets/js/82aa1fce.df469350.js               |   1 +
 zh-CN/assets/js/8443.30345cef.js                   |   2 +
 zh-CN/assets/js/8443.30345cef.js.LICENSE.txt       |   1 +
 zh-CN/assets/js/8d998be3.647862a1.js               |   1 +
 zh-CN/assets/js/90536160.98ea5e4f.js               |   1 +
 zh-CN/assets/js/935f2afb.2a43893c.js               |   1 +
 zh-CN/assets/js/93ca4beb.9cd127c3.js               |   1 +
 zh-CN/assets/js/94b8b27b.f4667046.js               |   1 +
 zh-CN/assets/js/96f77003.183cbf02.js               |   1 +
 zh-CN/assets/js/97180c32.8ebc1e65.js               |   1 +
 zh-CN/assets/js/9a0f4242.df61ebe1.js               |   1 +
 zh-CN/assets/js/9e4087bc.32b8fabc.js               |   1 +
 zh-CN/assets/js/a6aa9e1f.e8c1f1ea.js               |   1 +
 zh-CN/assets/js/a84996eb.98ffd9af.js               |   1 +
 zh-CN/assets/js/a94bd1d8.2599a1d4.js               |   1 +
 zh-CN/assets/js/a9dfc084.779a5e1a.js               |   1 +
 zh-CN/assets/js/b06a86ee.6ca28590.js               |   1 +
 zh-CN/assets/js/b265a160.9e1c9eb9.js               |   1 +
 zh-CN/assets/js/c7398828.1000c621.js               |   1 +
 zh-CN/assets/js/c89fd3f9.ce22ca4c.js               |   1 +
 zh-CN/assets/js/ccc49370.5cfe080a.js               |   1 +
 zh-CN/assets/js/d49eaa9b.2f015b5e.js               |   1 +
 zh-CN/assets/js/e1c327c2.17795745.js               |   1 +
 zh-CN/assets/js/e331eb86.9f2141ab.js               |   1 +
 zh-CN/assets/js/e3ac53b1.08ea6850.js               |   1 +
 zh-CN/assets/js/ea60fead.c06427c9.js               |   1 +
 zh-CN/assets/js/f2f8f1c2.1feb0c8f.js               |   1 +
 zh-CN/assets/js/f810106c.8cc708ab.js               |   1 +
 zh-CN/assets/js/main.08520cad.js                   |   2 +
 zh-CN/assets/js/main.08520cad.js.LICENSE.txt       | 125 +++++++++++++++++++++
 zh-CN/assets/js/runtime~main.5bbd3a25.js           |   1 +
 zh-CN/blog/2023/01/09/2022 summary/index.html      |  22 ++++
 .../index.html                                     |  36 ++++++
 zh-CN/blog/archive/index.html                      |  22 ++++
 zh-CN/blog/atom.xml                                |  40 +++++++
 zh-CN/blog/index.html                              |  36 ++++++
 zh-CN/blog/rss.xml                                 |  42 +++++++
 zh-CN/community/how to contribute/index.html       |  22 ++++
 zh-CN/community/how to release/index.html          |  26 +++++
 zh-CN/community/project committers/index.html      |  22 ++++
 zh-CN/docs/Deploy/coordinator-guide/index.html     |  23 ++++
 zh-CN/docs/Deploy/hardware-provisioning/index.html |  26 +++++
 zh-CN/docs/Deploy/metrics/index.html               |  23 ++++
 zh-CN/docs/Deploy/server-guide/index.html          |  22 ++++
 zh-CN/docs/K8s-Operator/examples/index.html        |  24 ++++
 zh-CN/docs/K8s-Operator/install/index.html         |  24 ++++
 .../uniffle-operator-design/index.html             |  31 +++++
 zh-CN/docs/build/index.html                        |  22 ++++
 zh-CN/docs/client-guide/index.html                 |  30 +++++
 zh-CN/docs/configuration/index.html                |  23 ++++
 zh-CN/docs/intro/index.html                        |  27 +++++
 zh-CN/docs/tuning/index.html                       |  22 ++++
 zh-CN/download/index.html                          |  31 +++++
 zh-CN/download/release-notes-0.6.0/index.html      |  22 ++++
 zh-CN/download/release-notes-0.6.1/index.html      |  22 ++++
 zh-CN/download/release-notes-0.7.0/index.html      |  22 ++++
 zh-CN/download/release-notes-0.7.1/index.html      |  22 ++++
 zh-CN/download/release-notes-0.8.0/index.html      |  22 ++++
 zh-CN/img/apache-incubator.svg                     |   1 +
 zh-CN/img/favicon.ico                              | Bin 0 -> 9786 bytes
 zh-CN/img/uniffle-logo.png                         | Bin 0 -> 28923 bytes
 zh-CN/index.html                                   |  22 ++++
 zh-CN/search-index.json                            |   1 +
 zh-CN/search/index.html                            |  22 ++++
 zh-CN/sitemap.xml                                  |   1 +
 212 files changed, 2002 insertions(+)

diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 0000000..f3e8eb5
--- /dev/null
+++ b/.asf.yaml
@@ -0,0 +1,39 @@
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+
+github:
+  description: "Apache Uniffle (Incubating) Website"
+  homepage: https://uniffle.apache.org/
+  features:
+    issues: false
+    projects: false
+    wiki: false
+  labels:
+    - uniffle
+  enabled_merge_buttons:
+    squash:  true
+    merge:   false
+    rebase:  false
+
+publish:
+  whoami: asf-site
+
+notifications:
+  commits:      commits@uniffle.apache.org
+  issues:       issues@uniffle.apache.org
+  pullrequests: issues@uniffle.apache.org
+  jobs:         issues@uniffle.apache.org
diff --git a/.nojekyll b/.nojekyll
new file mode 100644
index 0000000..e69de29
diff --git a/404.html b/404.html
new file mode 100644
index 0000000..4a0b407
--- /dev/null
+++ b/404.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="plugin-native plugin-id-default">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Page Not Found | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/404.html"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"> [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/assets/css/styles.c92a85d1.css b/assets/css/styles.c92a85d1.css
new file mode 100644
index 0000000..3192796
--- /dev/null
+++ b/assets/css/styles.c92a85d1.css
@@ -0,0 +1 @@
+.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middl [...]
\ No newline at end of file
diff --git a/assets/images/aqe-6090c8ed1b91b4b4892a95c69e9a1fb5.png b/assets/images/aqe-6090c8ed1b91b4b4892a95c69e9a1fb5.png
new file mode 100644
index 0000000..bc96bdf
Binary files /dev/null and b/assets/images/aqe-6090c8ed1b91b4b4892a95c69e9a1fb5.png differ
diff --git a/assets/images/architecture-19961714e3381cf27bf55e28bd212b00.png b/assets/images/architecture-19961714e3381cf27bf55e28bd212b00.png
new file mode 100644
index 0000000..e3047c5
Binary files /dev/null and b/assets/images/architecture-19961714e3381cf27bf55e28bd212b00.png differ
diff --git a/assets/images/data_read-31232b8cea5323ffee089e8667ad6226.png b/assets/images/data_read-31232b8cea5323ffee089e8667ad6226.png
new file mode 100644
index 0000000..ecfffc4
Binary files /dev/null and b/assets/images/data_read-31232b8cea5323ffee089e8667ad6226.png differ
diff --git a/assets/images/get_results-71ce542dca970bff80b6d444dbf4081c.png b/assets/images/get_results-71ce542dca970bff80b6d444dbf4081c.png
new file mode 100644
index 0000000..220f0b6
Binary files /dev/null and b/assets/images/get_results-71ce542dca970bff80b6d444dbf4081c.png differ
diff --git a/assets/images/gluten-cc81f323d5ee32b7e66bacb4c092cf03.png b/assets/images/gluten-cc81f323d5ee32b7e66bacb4c092cf03.png
new file mode 100644
index 0000000..09b1c20
Binary files /dev/null and b/assets/images/gluten-cc81f323d5ee32b7e66bacb4c092cf03.png differ
diff --git a/assets/images/hdfs_fallback-8716b86a955947ccd6243028edd3e0b6.png b/assets/images/hdfs_fallback-8716b86a955947ccd6243028edd3e0b6.png
new file mode 100644
index 0000000..2122fc3
Binary files /dev/null and b/assets/images/hdfs_fallback-8716b86a955947ccd6243028edd3e0b6.png differ
diff --git a/assets/images/io_random-93469fcb7b6d912b25abeb3ec2f9b48d.png b/assets/images/io_random-93469fcb7b6d912b25abeb3ec2f9b48d.png
new file mode 100644
index 0000000..753abe4
Binary files /dev/null and b/assets/images/io_random-93469fcb7b6d912b25abeb3ec2f9b48d.png differ
diff --git a/assets/images/io_sort-4e4445257d6dfd93fcbd173db1ad15ea.png b/assets/images/io_sort-4e4445257d6dfd93fcbd173db1ad15ea.png
new file mode 100644
index 0000000..208d6cc
Binary files /dev/null and b/assets/images/io_sort-4e4445257d6dfd93fcbd173db1ad15ea.png differ
diff --git a/assets/images/metadata-b4e7588ef03930e4cfdec890e9324e2b.png b/assets/images/metadata-b4e7588ef03930e4cfdec890e9324e2b.png
new file mode 100644
index 0000000..4935a1c
Binary files /dev/null and b/assets/images/metadata-b4e7588ef03930e4cfdec890e9324e2b.png differ
diff --git a/assets/images/process-926f89bbddc4b91bcccbb0e3c019025c.png b/assets/images/process-926f89bbddc4b91bcccbb0e3c019025c.png
new file mode 100644
index 0000000..df70a3d
Binary files /dev/null and b/assets/images/process-926f89bbddc4b91bcccbb0e3c019025c.png differ
diff --git a/assets/images/rss-crd-state-transition-330944efa8bb505a5f33e6fa07a66365.png b/assets/images/rss-crd-state-transition-330944efa8bb505a5f33e6fa07a66365.png
new file mode 100644
index 0000000..f5329b8
Binary files /dev/null and b/assets/images/rss-crd-state-transition-330944efa8bb505a5f33e6fa07a66365.png differ
diff --git a/assets/images/rss_architecture-a3a32a259b8b40834c295f5f17ce66cb.png b/assets/images/rss_architecture-a3a32a259b8b40834c295f5f17ce66cb.png
new file mode 100644
index 0000000..fded522
Binary files /dev/null and b/assets/images/rss_architecture-a3a32a259b8b40834c295f5f17ce66cb.png differ
diff --git a/assets/images/rss_data_format-423a8687082f4a77620d97a97b01d204.png b/assets/images/rss_data_format-423a8687082f4a77620d97a97b01d204.png
new file mode 100644
index 0000000..88e289e
Binary files /dev/null and b/assets/images/rss_data_format-423a8687082f4a77620d97a97b01d204.png differ
diff --git a/assets/images/rss_shuffle_write-0018bea428f435c37c6f369defc3a081.png b/assets/images/rss_shuffle_write-0018bea428f435c37c6f369defc3a081.png
new file mode 100644
index 0000000..f1dc259
Binary files /dev/null and b/assets/images/rss_shuffle_write-0018bea428f435c37c6f369defc3a081.png differ
diff --git a/assets/images/select-bbfd10c777e86778f62df639415151e3.png b/assets/images/select-bbfd10c777e86778f62df639415151e3.png
new file mode 100644
index 0000000..5224d18
Binary files /dev/null and b/assets/images/select-bbfd10c777e86778f62df639415151e3.png differ
diff --git a/assets/js/0a4b8562.9d7e1e7a.js b/assets/js/0a4b8562.9d7e1e7a.js
new file mode 100644
index 0000000..91ab233
--- /dev/null
+++ b/assets/js/0a4b8562.9d7e1e7a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7235],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>d});var r=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o( [...]
\ No newline at end of file
diff --git a/assets/js/17896441.31590cc0.js b/assets/js/17896441.31590cc0.js
new file mode 100644
index 0000000..7f6a3e8
--- /dev/null
+++ b/assets/js/17896441.31590cc0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7918],{8945:(e,t,n)=>{n.r(t),n.d(t,{default:()=>ie});var a=n(7294),l=n(1944),o=n(902);const r=a.createContext(null);function s(e){let{children:t,content:n}=e;const l=function(e){return(0,a.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return a.createElement(r.Provider,{value:l},t)}function c(){const e=(0,a.useContext)(r);if(null===e [...]
\ No newline at end of file
diff --git a/assets/js/1a4e3797.0231b2d7.js b/assets/js/1a4e3797.0231b2d7.js
new file mode 100644
index 0000000..d403e00
--- /dev/null
+++ b/assets/js/1a4e3797.0231b2d7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7920],{8824:(e,t,r)=>{r.d(t,{c:()=>u});var a=r(7294),n=r(2263);const l=["zero","one","two","few","many","other"];function s(e){return l.filter((t=>e.includes(t)))}const c={locale:"en",pluralForms:s(["one","other"]),select:e=>1===e?"one":"other"};function o(){const{i18n:{currentLocale:e}}=(0,n.Z)();return(0,a.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:s(t.reso [...]
\ No newline at end of file
diff --git a/assets/js/1be78505.05a4308a.js b/assets/js/1be78505.05a4308a.js
new file mode 100644
index 0000000..773f44f
--- /dev/null
+++ b/assets/js/1be78505.05a4308a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9514,4972],{9963:(e,t,n)=>{n.r(t),n.d(t,{default:()=>fe});var a=n(7294),l=n(6010),o=n(1944),r=n(5281),c=n(3320),i=n(2802),s=n(4477),d=n(1116),m=n(179),u=n(5999),b=n(2466),p=n(5936);const h={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};function E(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,l]=(0,a.useState)(!1),o=(0,a.useRef)(!1),{startScroll:r,ca [...]
\ No newline at end of file
diff --git a/assets/js/1df93b7f.63559b64.js b/assets/js/1df93b7f.63559b64.js
new file mode 100644
index 0000000..3b0e399
--- /dev/null
+++ b/assets/js/1df93b7f.63559b64.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3237],{8391:(e,t,n)=>{n.r(t),n.d(t,{default:()=>h});var a=n(7294),r=n(6010),l=n(9960),c=n(2263),s=n(179),o=n(7462);const i={features:"features_t9lD",featureSvg:"featureSvg_GfXr"},u=[{title:"Fast",description:a.createElement(a.Fragment,null,"Reduces number of connections and random I/O in data shuffle.")},{title:"Reliable",description:a.createElement(a.Fragment,null,"Reduces out of memory (or disk space) failures  [...]
\ No newline at end of file
diff --git a/assets/js/236d553a.0c063cee.js b/assets/js/236d553a.0c063cee.js
new file mode 100644
index 0000000..2c5541d
--- /dev/null
+++ b/assets/js/236d553a.0c063cee.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6823],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>h});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a( [...]
\ No newline at end of file
diff --git a/assets/js/2697e8cd.47a3cc9e.js b/assets/js/2697e8cd.47a3cc9e.js
new file mode 100644
index 0000000..f808fc5
--- /dev/null
+++ b/assets/js/2697e8cd.47a3cc9e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7933],{1635:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"download"}')}}]);
\ No newline at end of file
diff --git a/assets/js/26991455.c2149f91.js b/assets/js/26991455.c2149f91.js
new file mode 100644
index 0000000..583e22e
--- /dev/null
+++ b/assets/js/26991455.c2149f91.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8659],{3905:(t,e,n)=>{n.d(e,{Zo:()=>c,kt:()=>k});var r=n(7294);function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function l(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function i( [...]
\ No newline at end of file
diff --git a/assets/js/306a8c6c.b7c52ddc.js b/assets/js/306a8c6c.b7c52ddc.js
new file mode 100644
index 0000000..fae1e07
--- /dev/null
+++ b/assets/js/306a8c6c.b7c52ddc.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7616],{9479:e=>{e.exports=JSON.parse('{"pluginId":"community","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"how to release","href":"/community/how to release","docId":"how to release"},{"type":"link","label":"how to contribute","href":"/community/how to contribute","docId":" [...]
\ No newline at end of file
diff --git a/assets/js/315cc475.43ddf682.js b/assets/js/315cc475.43ddf682.js
new file mode 100644
index 0000000..7e6acc3
--- /dev/null
+++ b/assets/js/315cc475.43ddf682.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4361],{3905:(t,e,a)=>{a.d(e,{Zo:()=>p,kt:()=>N});var r=a(7294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,r)}return a}function i( [...]
\ No newline at end of file
diff --git a/assets/js/36c3b86e.f060ffa5.js b/assets/js/36c3b86e.f060ffa5.js
new file mode 100644
index 0000000..3c6c5e1
--- /dev/null
+++ b/assets/js/36c3b86e.f060ffa5.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6267],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>m});var i=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,i)}return a}function n( [...]
\ No newline at end of file
diff --git a/assets/js/3a51d15f.c6198ef9.js b/assets/js/3a51d15f.c6198ef9.js
new file mode 100644
index 0000000..26fc068
--- /dev/null
+++ b/assets/js/3a51d15f.c6198ef9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6406],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l( [...]
\ No newline at end of file
diff --git a/assets/js/3c4daf9d.4fab045f.js b/assets/js/3c4daf9d.4fab045f.js
new file mode 100644
index 0000000..bc4dda9
--- /dev/null
+++ b/assets/js/3c4daf9d.4fab045f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5330],{4469:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]);
\ No newline at end of file
diff --git a/assets/js/492d57dd.cd52b0be.js b/assets/js/492d57dd.cd52b0be.js
new file mode 100644
index 0000000..460fed0
--- /dev/null
+++ b/assets/js/492d57dd.cd52b0be.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[778],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>d});var r=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e [...]
\ No newline at end of file
diff --git a/assets/js/4972.b2062fd1.js b/assets/js/4972.b2062fd1.js
new file mode 100644
index 0000000..3cabf55
--- /dev/null
+++ b/assets/js/4972.b2062fd1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4972],{4972:(e,t,n)=>{n.r(t),n.d(t,{default:()=>i});var a=n(7294),l=n(5999),o=n(1944),r=n(179);function i(){return a.createElement(a.Fragment,null,a.createElement(o.d,{title:(0,l.I)({id:"theme.NotFound.title",message:"Page Not Found"})}),a.createElement(r.Z,null,a.createElement("main",{className:"container margin-vert--xl"},a.createElement("div",{className:"row"},a.createElement("div",{className:"col col--6 col-- [...]
\ No newline at end of file
diff --git a/assets/js/4f36484c.097b3650.js b/assets/js/4f36484c.097b3650.js
new file mode 100644
index 0000000..f48e0a8
--- /dev/null
+++ b/assets/js/4f36484c.097b3650.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8938],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>h});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function s( [...]
\ No newline at end of file
diff --git a/assets/js/5525.36b2ab15.js b/assets/js/5525.36b2ab15.js
new file mode 100644
index 0000000..4d7bf94
--- /dev/null
+++ b/assets/js/5525.36b2ab15.js
@@ -0,0 +1 @@
+(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5525],{5525:()=>{}}]);
\ No newline at end of file
diff --git a/assets/js/5665.3fb2cbd0.js b/assets/js/5665.3fb2cbd0.js
new file mode 100644
index 0000000..f895430
--- /dev/null
+++ b/assets/js/5665.3fb2cbd0.js
@@ -0,0 +1 @@
+(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5665],{3905:(e,t,n)=>{"use strict";n.d(t,{Zo:()=>u,kt:()=>f});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function l( [...]
\ No newline at end of file
diff --git a/assets/js/5fd8e189.845a4205.js b/assets/js/5fd8e189.845a4205.js
new file mode 100644
index 0000000..26d4a34
--- /dev/null
+++ b/assets/js/5fd8e189.845a4205.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4071],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>f});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l( [...]
\ No newline at end of file
diff --git a/assets/js/5fd98138.4fc5b8b9.js b/assets/js/5fd98138.4fc5b8b9.js
new file mode 100644
index 0000000..a1ef5b7
--- /dev/null
+++ b/assets/js/5fd98138.4fc5b8b9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3230],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>h});var n=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a( [...]
\ No newline at end of file
diff --git a/assets/js/6048.100b2257.js b/assets/js/6048.100b2257.js
new file mode 100644
index 0000000..5de0318
--- /dev/null
+++ b/assets/js/6048.100b2257.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6048],{9058:(e,t,a)=>{a.d(t,{Z:()=>h});var l=a(7294),r=a(6010),n=a(179),o=a(7524),s=a(9960),i=a(5999);const m={sidebar:"sidebar_re4s",sidebarItemTitle:"sidebarItemTitle_pO2u",sidebarItemList:"sidebarItemList_Yudw",sidebarItem:"sidebarItem__DBe",sidebarItemLink:"sidebarItemLink_mo7H",sidebarItemLinkActive:"sidebarItemLinkActive_I1ZP"};function c(e){let{sidebar:t}=e;return l.createElement("aside",{className:"col co [...]
\ No newline at end of file
diff --git a/assets/js/63c2eacd.d8183bdf.js b/assets/js/63c2eacd.d8183bdf.js
new file mode 100644
index 0000000..cf09734
--- /dev/null
+++ b/assets/js/63c2eacd.d8183bdf.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3145],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>c});var r=a(7294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function n( [...]
\ No newline at end of file
diff --git a/assets/js/814f3328.741a947d.js b/assets/js/814f3328.741a947d.js
new file mode 100644
index 0000000..d7b3152
--- /dev/null
+++ b/assets/js/814f3328.741a947d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2535],{5641:e=>{e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Uniffle - New chapter for the shuffle in the cloud native era","permalink":"/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era"},{"title":"2022 summary","permalink":"/blog/2023/01/09/2022 summary"}]}')}}]);
\ No newline at end of file
diff --git a/assets/js/82aa1fce.df469350.js b/assets/js/82aa1fce.df469350.js
new file mode 100644
index 0000000..3b867fa
--- /dev/null
+++ b/assets/js/82aa1fce.df469350.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4950],{2481:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"community"}')}}]);
\ No newline at end of file
diff --git a/assets/js/8443.30345cef.js b/assets/js/8443.30345cef.js
new file mode 100644
index 0000000..9a6337a
--- /dev/null
+++ b/assets/js/8443.30345cef.js
@@ -0,0 +1,2 @@
+/*! For license information please see 8443.30345cef.js.LICENSE.txt */
+(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8443],{8443:(t,e,n)=>{"use strict";t.exports=n(295)},1228:(t,e,n)=>{"use strict";var i=n(2856),s={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",le [...]
\ No newline at end of file
diff --git a/assets/js/8443.30345cef.js.LICENSE.txt b/assets/js/8443.30345cef.js.LICENSE.txt
new file mode 100644
index 0000000..4f7ccd8
--- /dev/null
+++ b/assets/js/8443.30345cef.js.LICENSE.txt
@@ -0,0 +1 @@
+/*! https://mths.be/cssesc v3.0.0 by @mathias */
diff --git a/assets/js/90536160.5c43b535.js b/assets/js/90536160.5c43b535.js
new file mode 100644
index 0000000..6ac054a
--- /dev/null
+++ b/assets/js/90536160.5c43b535.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[230],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>d});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e [...]
\ No newline at end of file
diff --git a/assets/js/935f2afb.e36d0138.js b/assets/js/935f2afb.e36d0138.js
new file mode 100644
index 0000000..ff0a174
--- /dev/null
+++ b/assets/js/935f2afb.e36d0138.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Intro","href":"/docs/intro","docId":"intro"},{"type":"link","label":"Uniffle Shuffle Client Guide","href":"/docs/client-guide","docId":"client-guide"},{"type":"category"," [...]
\ No newline at end of file
diff --git a/assets/js/93ca4beb.427d9948.js b/assets/js/93ca4beb.427d9948.js
new file mode 100644
index 0000000..7dacdd7
--- /dev/null
+++ b/assets/js/93ca4beb.427d9948.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4086],{8070:e=>{e.exports=JSON.parse('{"pluginId":"download","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Download","href":"/download/","docId":"index"},{"type":"link","label":"Release Notes 0.8.0","href":"/download/release-notes-0.8.0","docId":"release-notes-0.8.0"},{"type [...]
\ No newline at end of file
diff --git a/assets/js/94b8b27b.c5638327.js b/assets/js/94b8b27b.c5638327.js
new file mode 100644
index 0000000..73adae6
--- /dev/null
+++ b/assets/js/94b8b27b.c5638327.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[644],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var n=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e [...]
\ No newline at end of file
diff --git a/assets/js/96f77003.f1ab0fbd.js b/assets/js/96f77003.f1ab0fbd.js
new file mode 100644
index 0000000..87201eb
--- /dev/null
+++ b/assets/js/96f77003.f1ab0fbd.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2072],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>h});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o( [...]
\ No newline at end of file
diff --git a/assets/js/9a0f4242.6ab10d62.js b/assets/js/9a0f4242.6ab10d62.js
new file mode 100644
index 0000000..0547aa7
--- /dev/null
+++ b/assets/js/9a0f4242.6ab10d62.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6148],{3905:(e,t,i)=>{i.d(t,{Zo:()=>d,kt:()=>b});var r=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function l( [...]
\ No newline at end of file
diff --git a/assets/js/9e4087bc.32b8fabc.js b/assets/js/9e4087bc.32b8fabc.js
new file mode 100644
index 0000000..0c3dec2
--- /dev/null
+++ b/assets/js/9e4087bc.32b8fabc.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3608],{3169:(e,t,a)=>{a.r(t),a.d(t,{default:()=>o});var r=a(7294),l=a(9960),n=a(5999),c=a(1944),i=a(179);function m(e){let{year:t,posts:a}=e;return r.createElement(r.Fragment,null,r.createElement("h3",null,t),r.createElement("ul",null,a.map((e=>r.createElement("li",{key:e.metadata.date},r.createElement(l.Z,{to:e.metadata.permalink},e.metadata.formattedDate," - ",e.metadata.title))))))}function s(e){let{years:t}=e [...]
\ No newline at end of file
diff --git a/assets/js/a6aa9e1f.e8c1f1ea.js b/assets/js/a6aa9e1f.e8c1f1ea.js
new file mode 100644
index 0000000..7519969
--- /dev/null
+++ b/assets/js/a6aa9e1f.e8c1f1ea.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3089],{3269:(e,t,a)=>{a.r(t),a.d(t,{default:()=>k});var n=a(7294),l=a(6010),r=a(2263),i=a(1944),o=a(5281),s=a(9058),m=a(5999),c=a(2244);function g(e){const{metadata:t}=e,{previousPage:a,nextPage:l}=t;return n.createElement("nav",{className:"pagination-nav","aria-label":(0,m.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"})},a&&n.c [...]
\ No newline at end of file
diff --git a/assets/js/a84996eb.19fcef6e.js b/assets/js/a84996eb.19fcef6e.js
new file mode 100644
index 0000000..2ed1de1
--- /dev/null
+++ b/assets/js/a84996eb.19fcef6e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3510],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>k});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i( [...]
\ No newline at end of file
diff --git a/assets/js/a94bd1d8.4e7ae262.js b/assets/js/a94bd1d8.4e7ae262.js
new file mode 100644
index 0000000..7337002
--- /dev/null
+++ b/assets/js/a94bd1d8.4e7ae262.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8628],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>h});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l( [...]
\ No newline at end of file
diff --git a/assets/js/a9dfc084.3f5cddd9.js b/assets/js/a9dfc084.3f5cddd9.js
new file mode 100644
index 0000000..98c2738
--- /dev/null
+++ b/assets/js/a9dfc084.3f5cddd9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1748],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>c});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function s( [...]
\ No newline at end of file
diff --git a/assets/js/b06a86ee.1f31c412.js b/assets/js/b06a86ee.1f31c412.js
new file mode 100644
index 0000000..a005d17
--- /dev/null
+++ b/assets/js/b06a86ee.1f31c412.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2336],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>f});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o( [...]
\ No newline at end of file
diff --git a/assets/js/b101a1a3.0cff50cb.js b/assets/js/b101a1a3.0cff50cb.js
new file mode 100644
index 0000000..498be53
--- /dev/null
+++ b/assets/js/b101a1a3.0cff50cb.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4349],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>m});var i=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,i)}return a}function n( [...]
\ No newline at end of file
diff --git a/assets/js/b2b675dd.be4cb386.js b/assets/js/b2b675dd.be4cb386.js
new file mode 100644
index 0000000..8fe733d
--- /dev/null
+++ b/assets/js/b2b675dd.be4cb386.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[533],{8017:e=>{e.exports=JSON.parse('{"permalink":"/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":2,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/assets/js/b2f554cd.d61be490.js b/assets/js/b2f554cd.d61be490.js
new file mode 100644
index 0000000..7e733bb
--- /dev/null
+++ b/assets/js/b2f554cd.d61be490.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1477],{10:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era","metadata":{"permalink":"/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era","editUrl":"https://github.com/apache/incubator-uniffle/blog/2023-07-21/Uniffle - New chapter for the shuffle in the cloud native era.md","source":"@site/blog/2023-07-21/Uniffle -  [...]
\ No newline at end of file
diff --git a/assets/js/c7398828.d91cabe8.js b/assets/js/c7398828.d91cabe8.js
new file mode 100644
index 0000000..6c961b1
--- /dev/null
+++ b/assets/js/c7398828.d91cabe8.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5667],{3905:(e,t,a)=>{a.d(t,{Zo:()=>o,kt:()=>s});var i=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,i)}return a}function u( [...]
\ No newline at end of file
diff --git a/assets/js/c89fd3f9.ce22ca4c.js b/assets/js/c89fd3f9.ce22ca4c.js
new file mode 100644
index 0000000..ccf7283
--- /dev/null
+++ b/assets/js/c89fd3f9.ce22ca4c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2198],{3769:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]);
\ No newline at end of file
diff --git a/assets/js/ccc49370.5cfe080a.js b/assets/js/ccc49370.5cfe080a.js
new file mode 100644
index 0000000..26d338e
--- /dev/null
+++ b/assets/js/ccc49370.5cfe080a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6103],{5203:(e,t,n)=>{n.r(t),n.d(t,{default:()=>h});var a=n(7294),l=n(6010),r=n(1944),o=n(5281),i=n(9460),c=n(9058),s=n(390),m=n(7462),d=n(5999),u=n(2244);function g(e){const{nextItem:t,prevItem:n}=e;return a.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,d.I)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The ARIA label for the blog [...]
\ No newline at end of file
diff --git a/assets/js/d49eaa9b.ad9db5a4.js b/assets/js/d49eaa9b.ad9db5a4.js
new file mode 100644
index 0000000..c61c268
--- /dev/null
+++ b/assets/js/d49eaa9b.ad9db5a4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4202],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>f});var a=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l( [...]
\ No newline at end of file
diff --git a/assets/js/e331eb86.e3f69559.js b/assets/js/e331eb86.e3f69559.js
new file mode 100644
index 0000000..9e1397b
--- /dev/null
+++ b/assets/js/e331eb86.e3f69559.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2462],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>g});var a=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o( [...]
\ No newline at end of file
diff --git a/assets/js/e3ac53b1.26ac565e.js b/assets/js/e3ac53b1.26ac565e.js
new file mode 100644
index 0000000..8d0b30e
--- /dev/null
+++ b/assets/js/e3ac53b1.26ac565e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3480],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>d});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i( [...]
\ No newline at end of file
diff --git a/assets/js/ea60fead.c06427c9.js b/assets/js/ea60fead.c06427c9.js
new file mode 100644
index 0000000..a9e52cd
--- /dev/null
+++ b/assets/js/ea60fead.c06427c9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5363],{2776:e=>{e.exports=JSON.parse('{"name":"@easyops-cn/docusaurus-search-local","id":"default"}')}}]);
\ No newline at end of file
diff --git a/assets/js/f810106c.8cc708ab.js b/assets/js/f810106c.8cc708ab.js
new file mode 100644
index 0000000..4168a1c
--- /dev/null
+++ b/assets/js/f810106c.8cc708ab.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3976],{5745:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]);
\ No newline at end of file
diff --git a/assets/js/fed7d42c.ce63fa38.js b/assets/js/fed7d42c.ce63fa38.js
new file mode 100644
index 0000000..14fa1dd
--- /dev/null
+++ b/assets/js/fed7d42c.ce63fa38.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6241],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>m});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o( [...]
\ No newline at end of file
diff --git a/assets/js/main.bb467f53.js b/assets/js/main.bb467f53.js
new file mode 100644
index 0000000..551850f
--- /dev/null
+++ b/assets/js/main.bb467f53.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.bb467f53.js.LICENSE.txt */
+(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[179],{8726:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var  [...]
\ No newline at end of file
diff --git a/assets/js/main.bb467f53.js.LICENSE.txt b/assets/js/main.bb467f53.js.LICENSE.txt
new file mode 100644
index 0000000..2c82639
--- /dev/null
+++ b/assets/js/main.bb467f53.js.LICENSE.txt
@@ -0,0 +1,125 @@
+/*
+object-assign
+(c) Sindre Sorhus
+@license MIT
+*/
+
+/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
+ * @license MIT */
+
+/*!
+ * lunr.Builder
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/*!
+ * lunr.Index
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/*!
+ * lunr.Pipeline
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/*!
+ * lunr.Set
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/*!
+ * lunr.TokenSet
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/*!
+ * lunr.Vector
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/*!
+ * lunr.stemmer
+ * Copyright (C) 2020 Oliver Nightingale
+ * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
+ */
+
+/*!
+ * lunr.stopWordFilter
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/*!
+ * lunr.tokenizer
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/*!
+ * lunr.trimmer
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/*!
+ * lunr.utils
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/**
+ * @license React
+ * use-sync-external-store-shim.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/**
+ * Prism: Lightweight, robust, elegant syntax highlighting
+ *
+ * @license MIT <https://opensource.org/licenses/MIT>
+ * @author Lea Verou <https://lea.verou.me>
+ * @namespace
+ * @public
+ */
+
+/**
+ * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
+ * Copyright (C) 2020 Oliver Nightingale
+ * @license MIT
+ */
+
+/** @license React v0.20.2
+ * scheduler.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/** @license React v16.13.1
+ * react-is.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/** @license React v17.0.2
+ * react-dom.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/** @license React v17.0.2
+ * react.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
diff --git a/assets/js/runtime~main.9411570b.js b/assets/js/runtime~main.9411570b.js
new file mode 100644
index 0000000..b00831c
--- /dev/null
+++ b/assets/js/runtime~main.9411570b.js
@@ -0,0 +1 @@
+(()=>{"use strict";var e,a,t,r,d,c={},f={};function b(e){var a=f[e];if(void 0!==a)return a.exports;var t=f[e]={id:e,loaded:!1,exports:{}};return c[e].call(t.exports,t,t.exports,b),t.loaded=!0,t.exports}b.m=c,b.c=f,e=[],b.O=(a,t,r,d)=>{if(!t){var c=1/0;for(i=0;i<e.length;i++){t=e[i][0],r=e[i][1],d=e[i][2];for(var f=!0,o=0;o<t.length;o++)(!1&d||c>=d)&&Object.keys(b.O).every((e=>b.O[e](t[o])))?t.splice(o--,1):(f=!1,d<c&&(c=d));if(f){e.splice(i--,1);var n=r();void 0!==n&&(a=n)}}return a}d=d| [...]
\ No newline at end of file
diff --git a/blog/2023/01/09/2022 summary/index.html b/blog/2023/01/09/2022 summary/index.html
new file mode 100644
index 0000000..1d42555
--- /dev/null
+++ b/blog/2023/01/09/2022 summary/index.html	
@@ -0,0 +1,23 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">2022 summary | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/blog/2023/01/09/2022 summary"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:langu [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+In addition to the above two versions, local order is introduced in the current master branch to cope with the data skew optimization of Spark AQE. Compared with the unoptimized version, the performance is improved by 3 times.</li></ol><h2 class="anchor anchorWithStickyNavbar_LWe7" id="community">Community<a href="#community" class="hash-link" aria-label="Direct link to Community" title="Direct link to Community">​</a></h2><p>Apache Uniffle (incubating) has added 22 contributors since en [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era/index.html b/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era/index.html
new file mode 100644
index 0000000..75ae127
--- /dev/null
+++ b/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era/index.html	
@@ -0,0 +1,38 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Uniffle - New chapter for the shuffle in the cloud native era | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era"><meta data-rh="true" name="docusaurus_locale" content="en"><meta [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+However, with the exploration of cloud-native architectures, traditional shuffle solutions have revealed various issues. </p><p>In a cloud-native architecture, with use of techniques such as the separation of storage and compute, mixed deployment.The computational nodes have relatively low disk volume, poor IO performance, and an imbalance between CPU and IO resources.
+Additionally, computational nodes could be preempted by high-priority jobs due to mixed deployments.</p><p>In traditional Shuffle implementations, shuffle nodes tightly coupled with computational nodes. However, due to the different resource requirements for disk, memory and CPU between computational nodes and shuffle nodes, it is challenging to independently scale them based on their resource needs.
+By separating the computational nodes from shuffle nodes, the computational node&#x27;s state becomes more lightweight after offloading the Shuffle state to shuffle nodes, reducing the job recomputation when computational nodes are preempted. </p><p>Decoupling computational and Shuffle nodes also reduces the demand for disk specifications on computational nodes, enabling an increase in the number of accessible computational nodes.</p><p>In cloud-native architectures, large Shuffle jobs c [...]
+Each system has made its own trade-offs based on different scenarios. Uniffle aims to create a fast, accurate, stable and cost-efficient cloud-native Remote Shuffle Service, considering performance, correctness, stability, and cost as its core aspects.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="architecture">Architecture<a href="#architecture" class="hash-link" aria-label="Direct link to Architecture" title="Direct link to Architecture">​</a></h2><p><img loading="lazy" alt="Ar [...]
+The essence of random IO is the existence of numerous small data block operations. In order to avoid these operations, Uniffle first aggregates multiple MapTasks&#x27; identical partitions in the memory of the Shuffle Server to generate larger partition data. When the Shuffle data in memory reaches the partition threshold or the overall threshold, it is written into local or remote storage.
+<img loading="lazy" alt="io_sort" src="/assets/images/io_sort-4e4445257d6dfd93fcbd173db1ad15ea.png" width="692" height="384" class="img_ev3q">
+When the overall threshold of memory reached, Uniffle sorted the partition data in memory based on their size. Uniffle write the larger partitions to the storage media first. Additionally, when the data in memory reach to a certain size, the writing of Shuffle data to the storage media is stopped, let some data stay in the memory to further reduce random IO on the disk.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-storage-media-selection-strategy">3) Storage media selection st [...]
+For writing Shuffle data to local or remote storage, Uniffle has observed through testing that larger data block sizes result in better write performance for remote storage. When the data block size exceeds 64MB, the write performance to remote storage can reach 32MB/s. It&#x27;s enough writing speed if we use multiple threads to write, comparing to the 100MB/s writing speed of HDD.Therefore, when writing data to storage media, Uniffle selects to write larger data blocks to remote storag [...]
+For computational engines like Spark AQE (Adaptive Query Execution), there are scenarios where a single task needs to read only a portion of a partition&#x27;s data, as well as scenarios where multiple partitions need to be read. In the case of reading a portion of a partition&#x27;s data, if the data is randomly distributed, it can result in a significant amount of read amplification. Performing data sorting and rewriting after the data is written can lead to considerable performance lo [...]
+<img loading="lazy" alt="get_results" src="/assets/images/get_results-71ce542dca970bff80b6d444dbf4081c.png" width="1436" height="478" class="img_ev3q">
+In scenarios where multiple partitions need to be read, an optimization technique in Uniffle involves allocating the task of reading multiple partitions to a single ShuffleServer. This allows for the aggregation of Rpc (Remote Procedure Call) requests, which means that multiple Rpc requests can be sent to a single Shuffle Server. This approach helps to minimize network overhead and improve overall performance. For more detailed information, please refer to <!-- -->[4]<!-- -->.</p><h3 cla [...]
+<img loading="lazy" alt="Gluten" src="/assets/images/gluten-cc81f323d5ee32b7e66bacb4c092cf03.png" width="1566" height="876" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="8-barrier-free">8) Barrier-Free<a href="#8-barrier-free" class="hash-link" aria-label="Direct link to 8) Barrier-Free" title="Direct link to 8) Barrier-Free">​</a></h3><p>For batch processing in distributed computing frameworks, the commonly used model is the Bulk Synchronous Parallel (BSP) mode [...]
+Spark reports information about all completed tasks to the driver. In the first step of the reducer, the reducer retrieves a list of task unique identifiers from the driver. Blocks are the data sent from mappers to the shuffle server, and each block has a unique identifier. The data of a block is stored in memory, on local disk, or in HDFS. To ensure data integrity, Uniffle incorporates metadata verification. Uniffle designs index files for data files stored on local disks and in HDFS. T [...]
+To address data corruption issues, Uniffle performs CRC (Cyclic Redundancy Check) verification on data blocks. When reading data, Uniffle recalculates the CRC and compares it with the CRC stored in the file to determine if the data is corrupted. This helps prevent reading incorrect data.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="stability">Stability<a href="#stability" class="hash-link" aria-label="Direct link to Stability" title="Direct link to Stability">​</a></h2><h3 class [...]
+HDFS online clusters may experience some fluctuations in stability, which can result in failures to write data to HDFS during certain time periods. In order to minimize the impact caused by HDFS fluctuations, Uniff has designed a Fallback mechanism. When writing to HDFS fails, the data will be stored locally instead, reducing the impact on the job.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="2-flow-control">2) Flow Control<a href="#2-flow-control" class="hash-link" aria-label=" [...]
+For example, iQiyi has contributed support for accessing Kerberos HDFS clusters and has optimized the performance of Spark AQE on Uniffle.Didi has added support for multi-tenant job quotas. Netty data plane optimizations were jointly completed by Didi and Vipshop.The support for Gluten was contributed by Baidu and SF Express.</p><p>Currently, the community has more than 50 contributors, with over 600 commits, and has released four Apache versions. It is being used by dozens of companies. [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/blog/archive/index.html b/blog/archive/index.html
new file mode 100644
index 0000000..8ed30c0
--- /dev/null
+++ b/blog/archive/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="plugin-blog plugin-id-default">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Archive | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/blog/archive"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><me [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/blog/atom.xml b/blog/atom.xml
new file mode 100644
index 0000000..1004e11
--- /dev/null
+++ b/blog/atom.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+    <id>https://uniffle.apache.org/blog</id>
+    <title>Apache Uniffle (Incubating) Blog</title>
+    <updated>2023-07-21T00:00:00.000Z</updated>
+    <generator>https://github.com/jpmonette/feed</generator>
+    <link rel="alternate" href="https://uniffle.apache.org/blog"/>
+    <subtitle>Apache Uniffle (Incubating) Blog</subtitle>
+    <icon>https://uniffle.apache.org/img/favicon.ico</icon>
+    <entry>
+        <title type="html"><![CDATA[Uniffle - New chapter for the shuffle in the cloud native era]]></title>
+        <id>https://uniffle.apache.org/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era</id>
+        <link href="https://uniffle.apache.org/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era"/>
+        <updated>2023-07-21T00:00:00.000Z</updated>
+        <summary type="html"><![CDATA[<!--]]></summary>
+        <content type="html"><![CDATA[<h2 class="anchor anchorWithStickyNavbar_LWe7" id="background">Background<a href="#background" class="hash-link" aria-label="Direct link to Background" title="Direct link to Background">​</a></h2><p>Shuffle is the process in distributed computing frameworks used to redistribute data between upstream and downstream tasks. It is a crucial component within computing frameworks and directly impacts their performance and stability.
+However, with the exploration of cloud-native architectures, traditional shuffle solutions have revealed various issues. </p><p>In a cloud-native architecture, with use of techniques such as the separation of storage and compute, mixed deployment.The computational nodes have relatively low disk volume, poor IO performance, and an imbalance between CPU and IO resources.
+Additionally, computational nodes could be preempted by high-priority jobs due to mixed deployments.</p><p>In traditional Shuffle implementations, shuffle nodes tightly coupled with computational nodes. However, due to the different resource requirements for disk, memory and CPU between computational nodes and shuffle nodes, it is challenging to independently scale them based on their resource needs.
+By separating the computational nodes from shuffle nodes, the computational node's state becomes more lightweight after offloading the Shuffle state to shuffle nodes, reducing the job recomputation when computational nodes are preempted. </p><p>Decoupling computational and Shuffle nodes also reduces the demand for disk specifications on computational nodes, enabling an increase in the number of accessible computational nodes.</p><p>In cloud-native architectures, large Shuffle jobs can ex [...]
+Each system has made its own trade-offs based on different scenarios. Uniffle aims to create a fast, accurate, stable and cost-efficient cloud-native Remote Shuffle Service, considering performance, correctness, stability, and cost as its core aspects.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="architecture">Architecture<a href="#architecture" class="hash-link" aria-label="Direct link to Architecture" title="Direct link to Architecture">​</a></h2><p><img loading="lazy" alt="Ar [...]
+The essence of random IO is the existence of numerous small data block operations. In order to avoid these operations, Uniffle first aggregates multiple MapTasks' identical partitions in the memory of the Shuffle Server to generate larger partition data. When the Shuffle data in memory reaches the partition threshold or the overall threshold, it is written into local or remote storage.
+<img loading="lazy" alt="io_sort" src="/assets/images/io_sort-4e4445257d6dfd93fcbd173db1ad15ea.png" width="692" height="384" class="img_ev3q">
+When the overall threshold of memory reached, Uniffle sorted the partition data in memory based on their size. Uniffle write the larger partitions to the storage media first. Additionally, when the data in memory reach to a certain size, the writing of Shuffle data to the storage media is stopped, let some data stay in the memory to further reduce random IO on the disk.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-storage-media-selection-strategy">3) Storage media selection st [...]
+For writing Shuffle data to local or remote storage, Uniffle has observed through testing that larger data block sizes result in better write performance for remote storage. When the data block size exceeds 64MB, the write performance to remote storage can reach 32MB/s. It's enough writing speed if we use multiple threads to write, comparing to the 100MB/s writing speed of HDD.Therefore, when writing data to storage media, Uniffle selects to write larger data blocks to remote storage bas [...]
+For computational engines like Spark AQE (Adaptive Query Execution), there are scenarios where a single task needs to read only a portion of a partition's data, as well as scenarios where multiple partitions need to be read. In the case of reading a portion of a partition's data, if the data is randomly distributed, it can result in a significant amount of read amplification. Performing data sorting and rewriting after the data is written can lead to considerable performance loss. Theref [...]
+<img loading="lazy" alt="get_results" src="/assets/images/get_results-71ce542dca970bff80b6d444dbf4081c.png" width="1436" height="478" class="img_ev3q">
+In scenarios where multiple partitions need to be read, an optimization technique in Uniffle involves allocating the task of reading multiple partitions to a single ShuffleServer. This allows for the aggregation of Rpc (Remote Procedure Call) requests, which means that multiple Rpc requests can be sent to a single Shuffle Server. This approach helps to minimize network overhead and improve overall performance. For more detailed information, please refer to <!-- -->[4]<!-- -->.</p><h3 cla [...]
+<img loading="lazy" alt="Gluten" src="/assets/images/gluten-cc81f323d5ee32b7e66bacb4c092cf03.png" width="1566" height="876" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="8-barrier-free">8) Barrier-Free<a href="#8-barrier-free" class="hash-link" aria-label="Direct link to 8) Barrier-Free" title="Direct link to 8) Barrier-Free">​</a></h3><p>For batch processing in distributed computing frameworks, the commonly used model is the Bulk Synchronous Parallel (BSP) mode [...]
+Spark reports information about all completed tasks to the driver. In the first step of the reducer, the reducer retrieves a list of task unique identifiers from the driver. Blocks are the data sent from mappers to the shuffle server, and each block has a unique identifier. The data of a block is stored in memory, on local disk, or in HDFS. To ensure data integrity, Uniffle incorporates metadata verification. Uniffle designs index files for data files stored on local disks and in HDFS. T [...]
+To address data corruption issues, Uniffle performs CRC (Cyclic Redundancy Check) verification on data blocks. When reading data, Uniffle recalculates the CRC and compares it with the CRC stored in the file to determine if the data is corrupted. This helps prevent reading incorrect data.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="stability">Stability<a href="#stability" class="hash-link" aria-label="Direct link to Stability" title="Direct link to Stability">​</a></h2><h3 class [...]
+HDFS online clusters may experience some fluctuations in stability, which can result in failures to write data to HDFS during certain time periods. In order to minimize the impact caused by HDFS fluctuations, Uniff has designed a Fallback mechanism. When writing to HDFS fails, the data will be stored locally instead, reducing the impact on the job.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="2-flow-control">2) Flow Control<a href="#2-flow-control" class="hash-link" aria-label=" [...]
+For example, iQiyi has contributed support for accessing Kerberos HDFS clusters and has optimized the performance of Spark AQE on Uniffle.Didi has added support for multi-tenant job quotas. Netty data plane optimizations were jointly completed by Didi and Vipshop.The support for Gluten was contributed by Baidu and SF Express.</p><p>Currently, the community has more than 50 contributors, with over 600 commits, and has released four Apache versions. It is being used by dozens of companies. [...]
+    </entry>
+    <entry>
+        <title type="html"><![CDATA[2022 summary]]></title>
+        <id>https://uniffle.apache.org/blog/2023/01/09/2022 summary</id>
+        <link href="https://uniffle.apache.org/blog/2023/01/09/2022 summary"/>
+        <updated>2023-01-09T00:00:00.000Z</updated>
+        <summary type="html"><![CDATA[<!--]]></summary>
+        <content type="html"><![CDATA[<h1>Apache Uniffle (incubating) - 2022 summary</h1><h2 class="anchor anchorWithStickyNavbar_LWe7" id="introduction">Introduction<a href="#introduction" class="hash-link" aria-label="Direct link to Introduction" title="Direct link to Introduction">​</a></h2><p>At the end of 2020,  Apache Uniffle (incubating)'s first line of code was written inside Tencent. It was open-sourced in November 2021, and then donated to the Apache Foundation in the mid-2022. [...]
+In addition to the above two versions, local order is introduced in the current master branch to cope with the data skew optimization of Spark AQE. Compared with the unoptimized version, the performance is improved by 3 times.</li></ol><h2 class="anchor anchorWithStickyNavbar_LWe7" id="community">Community<a href="#community" class="hash-link" aria-label="Direct link to Community" title="Direct link to Community">​</a></h2><p>Apache Uniffle (incubating) has added 22 contributors since en [...]
+    </entry>
+</feed>
\ No newline at end of file
diff --git a/blog/index.html b/blog/index.html
new file mode 100644
index 0000000..c4b20c0
--- /dev/null
+++ b/blog/index.html
@@ -0,0 +1,39 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="blog-wrapper blog-list-page plugin-blog plugin-id-default">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Blog | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/blog"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" property="og:title" content="Blog | Apache Uniffle (In [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+However, with the exploration of cloud-native architectures, traditional shuffle solutions have revealed various issues. </p><p>In a cloud-native architecture, with use of techniques such as the separation of storage and compute, mixed deployment.The computational nodes have relatively low disk volume, poor IO performance, and an imbalance between CPU and IO resources.
+Additionally, computational nodes could be preempted by high-priority jobs due to mixed deployments.</p><p>In traditional Shuffle implementations, shuffle nodes tightly coupled with computational nodes. However, due to the different resource requirements for disk, memory and CPU between computational nodes and shuffle nodes, it is challenging to independently scale them based on their resource needs.
+By separating the computational nodes from shuffle nodes, the computational node&#x27;s state becomes more lightweight after offloading the Shuffle state to shuffle nodes, reducing the job recomputation when computational nodes are preempted. </p><p>Decoupling computational and Shuffle nodes also reduces the demand for disk specifications on computational nodes, enabling an increase in the number of accessible computational nodes.</p><p>In cloud-native architectures, large Shuffle jobs c [...]
+Each system has made its own trade-offs based on different scenarios. Uniffle aims to create a fast, accurate, stable and cost-efficient cloud-native Remote Shuffle Service, considering performance, correctness, stability, and cost as its core aspects.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="architecture">Architecture<a href="#architecture" class="hash-link" aria-label="Direct link to Architecture" title="Direct link to Architecture">​</a></h2><p><img loading="lazy" alt="Ar [...]
+The essence of random IO is the existence of numerous small data block operations. In order to avoid these operations, Uniffle first aggregates multiple MapTasks&#x27; identical partitions in the memory of the Shuffle Server to generate larger partition data. When the Shuffle data in memory reaches the partition threshold or the overall threshold, it is written into local or remote storage.
+<img loading="lazy" alt="io_sort" src="/assets/images/io_sort-4e4445257d6dfd93fcbd173db1ad15ea.png" width="692" height="384" class="img_ev3q">
+When the overall threshold of memory reached, Uniffle sorted the partition data in memory based on their size. Uniffle write the larger partitions to the storage media first. Additionally, when the data in memory reach to a certain size, the writing of Shuffle data to the storage media is stopped, let some data stay in the memory to further reduce random IO on the disk.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-storage-media-selection-strategy">3) Storage media selection st [...]
+For writing Shuffle data to local or remote storage, Uniffle has observed through testing that larger data block sizes result in better write performance for remote storage. When the data block size exceeds 64MB, the write performance to remote storage can reach 32MB/s. It&#x27;s enough writing speed if we use multiple threads to write, comparing to the 100MB/s writing speed of HDD.Therefore, when writing data to storage media, Uniffle selects to write larger data blocks to remote storag [...]
+For computational engines like Spark AQE (Adaptive Query Execution), there are scenarios where a single task needs to read only a portion of a partition&#x27;s data, as well as scenarios where multiple partitions need to be read. In the case of reading a portion of a partition&#x27;s data, if the data is randomly distributed, it can result in a significant amount of read amplification. Performing data sorting and rewriting after the data is written can lead to considerable performance lo [...]
+<img loading="lazy" alt="get_results" src="/assets/images/get_results-71ce542dca970bff80b6d444dbf4081c.png" width="1436" height="478" class="img_ev3q">
+In scenarios where multiple partitions need to be read, an optimization technique in Uniffle involves allocating the task of reading multiple partitions to a single ShuffleServer. This allows for the aggregation of Rpc (Remote Procedure Call) requests, which means that multiple Rpc requests can be sent to a single Shuffle Server. This approach helps to minimize network overhead and improve overall performance. For more detailed information, please refer to <!-- -->[4]<!-- -->.</p><h3 cla [...]
+<img loading="lazy" alt="Gluten" src="/assets/images/gluten-cc81f323d5ee32b7e66bacb4c092cf03.png" width="1566" height="876" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="8-barrier-free">8) Barrier-Free<a href="#8-barrier-free" class="hash-link" aria-label="Direct link to 8) Barrier-Free" title="Direct link to 8) Barrier-Free">​</a></h3><p>For batch processing in distributed computing frameworks, the commonly used model is the Bulk Synchronous Parallel (BSP) mode [...]
+Spark reports information about all completed tasks to the driver. In the first step of the reducer, the reducer retrieves a list of task unique identifiers from the driver. Blocks are the data sent from mappers to the shuffle server, and each block has a unique identifier. The data of a block is stored in memory, on local disk, or in HDFS. To ensure data integrity, Uniffle incorporates metadata verification. Uniffle designs index files for data files stored on local disks and in HDFS. T [...]
+To address data corruption issues, Uniffle performs CRC (Cyclic Redundancy Check) verification on data blocks. When reading data, Uniffle recalculates the CRC and compares it with the CRC stored in the file to determine if the data is corrupted. This helps prevent reading incorrect data.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="stability">Stability<a href="#stability" class="hash-link" aria-label="Direct link to Stability" title="Direct link to Stability">​</a></h2><h3 class [...]
+HDFS online clusters may experience some fluctuations in stability, which can result in failures to write data to HDFS during certain time periods. In order to minimize the impact caused by HDFS fluctuations, Uniff has designed a Fallback mechanism. When writing to HDFS fails, the data will be stored locally instead, reducing the impact on the job.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="2-flow-control">2) Flow Control<a href="#2-flow-control" class="hash-link" aria-label=" [...]
+For example, iQiyi has contributed support for accessing Kerberos HDFS clusters and has optimized the performance of Spark AQE on Uniffle.Didi has added support for multi-tenant job quotas. Netty data plane optimizations were jointly completed by Didi and Vipshop.The support for Gluten was contributed by Baidu and SF Express.</p><p>Currently, the community has more than 50 contributors, with over 600 commits, and has released four Apache versions. It is being used by dozens of companies. [...]
+In addition to the above two versions, local order is introduced in the current master branch to cope with the data skew optimization of Spark AQE. Compared with the unoptimized version, the performance is improved by 3 times.</li></ol><h2 class="anchor anchorWithStickyNavbar_LWe7" id="community">Community<a href="#community" class="hash-link" aria-label="Direct link to Community" title="Direct link to Community">​</a></h2><p>Apache Uniffle (incubating) has added 22 contributors since en [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/blog/rss.xml b/blog/rss.xml
new file mode 100644
index 0000000..fa23c2f
--- /dev/null
+++ b/blog/rss.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
+    <channel>
+        <title>Apache Uniffle (Incubating) Blog</title>
+        <link>https://uniffle.apache.org/blog</link>
+        <description>Apache Uniffle (Incubating) Blog</description>
+        <lastBuildDate>Fri, 21 Jul 2023 00:00:00 GMT</lastBuildDate>
+        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
+        <generator>https://github.com/jpmonette/feed</generator>
+        <language>en</language>
+        <item>
+            <title><![CDATA[Uniffle - New chapter for the shuffle in the cloud native era]]></title>
+            <link>https://uniffle.apache.org/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era</link>
+            <guid>https://uniffle.apache.org/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era</guid>
+            <pubDate>Fri, 21 Jul 2023 00:00:00 GMT</pubDate>
+            <description><![CDATA[<!--]]></description>
+            <content:encoded><![CDATA[<h2 class="anchor anchorWithStickyNavbar_LWe7" id="background">Background<a href="#background" class="hash-link" aria-label="Direct link to Background" title="Direct link to Background">​</a></h2><p>Shuffle is the process in distributed computing frameworks used to redistribute data between upstream and downstream tasks. It is a crucial component within computing frameworks and directly impacts their performance and stability.
+However, with the exploration of cloud-native architectures, traditional shuffle solutions have revealed various issues. </p><p>In a cloud-native architecture, with use of techniques such as the separation of storage and compute, mixed deployment.The computational nodes have relatively low disk volume, poor IO performance, and an imbalance between CPU and IO resources.
+Additionally, computational nodes could be preempted by high-priority jobs due to mixed deployments.</p><p>In traditional Shuffle implementations, shuffle nodes tightly coupled with computational nodes. However, due to the different resource requirements for disk, memory and CPU between computational nodes and shuffle nodes, it is challenging to independently scale them based on their resource needs.
+By separating the computational nodes from shuffle nodes, the computational node's state becomes more lightweight after offloading the Shuffle state to shuffle nodes, reducing the job recomputation when computational nodes are preempted. </p><p>Decoupling computational and Shuffle nodes also reduces the demand for disk specifications on computational nodes, enabling an increase in the number of accessible computational nodes.</p><p>In cloud-native architectures, large Shuffle jobs can ex [...]
+Each system has made its own trade-offs based on different scenarios. Uniffle aims to create a fast, accurate, stable and cost-efficient cloud-native Remote Shuffle Service, considering performance, correctness, stability, and cost as its core aspects.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="architecture">Architecture<a href="#architecture" class="hash-link" aria-label="Direct link to Architecture" title="Direct link to Architecture">​</a></h2><p><img loading="lazy" alt="Ar [...]
+The essence of random IO is the existence of numerous small data block operations. In order to avoid these operations, Uniffle first aggregates multiple MapTasks' identical partitions in the memory of the Shuffle Server to generate larger partition data. When the Shuffle data in memory reaches the partition threshold or the overall threshold, it is written into local or remote storage.
+<img loading="lazy" alt="io_sort" src="/assets/images/io_sort-4e4445257d6dfd93fcbd173db1ad15ea.png" width="692" height="384" class="img_ev3q">
+When the overall threshold of memory reached, Uniffle sorted the partition data in memory based on their size. Uniffle write the larger partitions to the storage media first. Additionally, when the data in memory reach to a certain size, the writing of Shuffle data to the storage media is stopped, let some data stay in the memory to further reduce random IO on the disk.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-storage-media-selection-strategy">3) Storage media selection st [...]
+For writing Shuffle data to local or remote storage, Uniffle has observed through testing that larger data block sizes result in better write performance for remote storage. When the data block size exceeds 64MB, the write performance to remote storage can reach 32MB/s. It's enough writing speed if we use multiple threads to write, comparing to the 100MB/s writing speed of HDD.Therefore, when writing data to storage media, Uniffle selects to write larger data blocks to remote storage bas [...]
+For computational engines like Spark AQE (Adaptive Query Execution), there are scenarios where a single task needs to read only a portion of a partition's data, as well as scenarios where multiple partitions need to be read. In the case of reading a portion of a partition's data, if the data is randomly distributed, it can result in a significant amount of read amplification. Performing data sorting and rewriting after the data is written can lead to considerable performance loss. Theref [...]
+<img loading="lazy" alt="get_results" src="/assets/images/get_results-71ce542dca970bff80b6d444dbf4081c.png" width="1436" height="478" class="img_ev3q">
+In scenarios where multiple partitions need to be read, an optimization technique in Uniffle involves allocating the task of reading multiple partitions to a single ShuffleServer. This allows for the aggregation of Rpc (Remote Procedure Call) requests, which means that multiple Rpc requests can be sent to a single Shuffle Server. This approach helps to minimize network overhead and improve overall performance. For more detailed information, please refer to <!-- -->[4]<!-- -->.</p><h3 cla [...]
+<img loading="lazy" alt="Gluten" src="/assets/images/gluten-cc81f323d5ee32b7e66bacb4c092cf03.png" width="1566" height="876" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="8-barrier-free">8) Barrier-Free<a href="#8-barrier-free" class="hash-link" aria-label="Direct link to 8) Barrier-Free" title="Direct link to 8) Barrier-Free">​</a></h3><p>For batch processing in distributed computing frameworks, the commonly used model is the Bulk Synchronous Parallel (BSP) mode [...]
+Spark reports information about all completed tasks to the driver. In the first step of the reducer, the reducer retrieves a list of task unique identifiers from the driver. Blocks are the data sent from mappers to the shuffle server, and each block has a unique identifier. The data of a block is stored in memory, on local disk, or in HDFS. To ensure data integrity, Uniffle incorporates metadata verification. Uniffle designs index files for data files stored on local disks and in HDFS. T [...]
+To address data corruption issues, Uniffle performs CRC (Cyclic Redundancy Check) verification on data blocks. When reading data, Uniffle recalculates the CRC and compares it with the CRC stored in the file to determine if the data is corrupted. This helps prevent reading incorrect data.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="stability">Stability<a href="#stability" class="hash-link" aria-label="Direct link to Stability" title="Direct link to Stability">​</a></h2><h3 class [...]
+HDFS online clusters may experience some fluctuations in stability, which can result in failures to write data to HDFS during certain time periods. In order to minimize the impact caused by HDFS fluctuations, Uniff has designed a Fallback mechanism. When writing to HDFS fails, the data will be stored locally instead, reducing the impact on the job.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="2-flow-control">2) Flow Control<a href="#2-flow-control" class="hash-link" aria-label=" [...]
+For example, iQiyi has contributed support for accessing Kerberos HDFS clusters and has optimized the performance of Spark AQE on Uniffle.Didi has added support for multi-tenant job quotas. Netty data plane optimizations were jointly completed by Didi and Vipshop.The support for Gluten was contributed by Baidu and SF Express.</p><p>Currently, the community has more than 50 contributors, with over 600 commits, and has released four Apache versions. It is being used by dozens of companies. [...]
+        </item>
+        <item>
+            <title><![CDATA[2022 summary]]></title>
+            <link>https://uniffle.apache.org/blog/2023/01/09/2022 summary</link>
+            <guid>https://uniffle.apache.org/blog/2023/01/09/2022 summary</guid>
+            <pubDate>Mon, 09 Jan 2023 00:00:00 GMT</pubDate>
+            <description><![CDATA[<!--]]></description>
+            <content:encoded><![CDATA[<h1>Apache Uniffle (incubating) - 2022 summary</h1><h2 class="anchor anchorWithStickyNavbar_LWe7" id="introduction">Introduction<a href="#introduction" class="hash-link" aria-label="Direct link to Introduction" title="Direct link to Introduction">​</a></h2><p>At the end of 2020,  Apache Uniffle (incubating)'s first line of code was written inside Tencent. It was open-sourced in November 2021, and then donated to the Apache Foundation in the mid-2022. [...]
+In addition to the above two versions, local order is introduced in the current master branch to cope with the data skew optimization of Spark AQE. Compared with the unoptimized version, the performance is improved by 3 times.</li></ol><h2 class="anchor anchorWithStickyNavbar_LWe7" id="community">Community<a href="#community" class="hash-link" aria-label="Direct link to Community" title="Direct link to Community">​</a></h2><p>Apache Uniffle (incubating) has added 22 contributors since en [...]
+        </item>
+    </channel>
+</rss>
\ No newline at end of file
diff --git a/community/how to contribute/index.html b/community/how to contribute/index.html
new file mode 100644
index 0000000..2e1bea2
--- /dev/null
+++ b/community/how to contribute/index.html	
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-community docs-doc-id-how to contribute">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">how to contribute | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/community/how to contribute"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_v [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/community/how to release/index.html b/community/how to release/index.html
new file mode 100644
index 0000000..2dbdc3e
--- /dev/null
+++ b/community/how to release/index.html	
@@ -0,0 +1,26 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-community docs-doc-id-how to release">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">how to release | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/community/how to release"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+Note: The commands of GnuPG 1.x version and 2.x version are slightly different. The following description takes 2.2.28 as an example
+After installation, the gpg command is added to the system environment variables and is available</p><div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">#Check the version, it should be 2.x</spa [...]
+Refer: <a href="https://central.sonatype.org/publish/release/#locate-and-examine-your-staging-repository" target="_blank" rel="noopener noreferrer">https://central.sonatype.org/publish/release/#locate-and-examine-your-staging-repository</a></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="3-verify-release-candidates">3 Verify Release Candidates<a href="#3-verify-release-candidates" class="hash-link" aria-label="Direct link to 3 Verify Release Candidates" title="Direct link to 3 Veri [...]
+For more information, please refer to the official <a href="https://infra.apache.org/contrib-email-tips" target="_blank" rel="noopener noreferrer">Email Specification</a> <a href="https://infra.apache.org/contrib-email-tips" target="_blank" rel="noopener noreferrer">https://infra.apache.org/contrib-email-tips</a></p><p><strong> Gmail mailbox switch to plain text format </strong></p><p><img loading="lazy" src="https://user-images.githubusercontent.com/7869972/152912490-a5038505-e487-4451- [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/community/project committers/index.html b/community/project committers/index.html
new file mode 100644
index 0000000..649973d
--- /dev/null
+++ b/community/project committers/index.html	
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-community docs-doc-id-project committers">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">project committers | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/community/project committers"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/Deploy/coordinator-guide/index.html b/docs/Deploy/coordinator-guide/index.html
new file mode 100644
index 0000000..f957db5
--- /dev/null
+++ b/docs/Deploy/coordinator-guide/index.html
@@ -0,0 +1,23 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-Deploy/coordinator-guide">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Uniffle Coordinator Guide | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/docs/Deploy/coordinator-guide"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="do [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+collecting status of shuffle server and doing the assignment for the job.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="deploy">Deploy<a href="#deploy" class="hash-link" aria-label="Direct link to Deploy" title="Direct link to Deploy">​</a></h2><p>This document will introduce how to deploy Uniffle coordinators.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="steps">Steps<a href="#steps" class="hash-link" aria-label="Direct link to Steps" title="Direct link to Steps">​</a></ [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/Deploy/hardware-provisioning/index.html b/docs/Deploy/hardware-provisioning/index.html
new file mode 100644
index 0000000..c1ac364
--- /dev/null
+++ b/docs/Deploy/hardware-provisioning/index.html
@@ -0,0 +1,26 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-Deploy/hardware-provisioning">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Hardware Provision | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/docs/Deploy/hardware-provisioning"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docus [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+Usually HDD provide 100MB/s write speed we should guarantee that the data can be flushed to disks.
+If our cluster applications write 1 GB/s in the busiest time, we should provide 10 HDD disks.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="memory">MEMORY<a href="#memory" class="hash-link" aria-label="Direct link to MEMORY" title="Direct link to MEMORY">​</a></h2><p>We use the memory to reduce the random IO of write stage. If we have too many partitions, we will flush to small data to the disk.
+It will influence the performance, we should guarantee that every partition&#x27;s memory is bigger than 3MB.
+For example, if we have 1k partitions in our busiest time, we should provide 3 GB memory for them.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="network">NETWORK<a href="#network" class="hash-link" aria-label="Direct link to NETWORK" title="Direct link to NETWORK">​</a></h2><p>In our experience, Uniffle are network-bound. Using a 10 Gigabit or higher network is the best way to make these applications faster.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="cpu-cores">CPU COR [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/Deploy/metrics/index.html b/docs/Deploy/metrics/index.html
new file mode 100644
index 0000000..36b251b
--- /dev/null
+++ b/docs/Deploy/metrics/index.html
@@ -0,0 +1,23 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-Deploy/metrics">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Metrics | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/docs/Deploy/metrics"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="c [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+We divide all metrics into four categories.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="coordinator-related-metrics">coordinator-related metrics<a href="#coordinator-related-metrics" class="hash-link" aria-label="Direct link to coordinator-related metrics" title="Direct link to coordinator-related metrics">​</a></h3><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabinde [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/Deploy/server-guide/index.html b/docs/Deploy/server-guide/index.html
new file mode 100644
index 0000000..586b55f
--- /dev/null
+++ b/docs/Deploy/server-guide/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-Deploy/server-guide">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Uniffle Shuffle Server Guide | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/docs/Deploy/server-guide"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docu [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/K8s-Operator/examples/index.html b/docs/K8s-Operator/examples/index.html
new file mode 100644
index 0000000..33126bd
--- /dev/null
+++ b/docs/K8s-Operator/examples/index.html
@@ -0,0 +1,24 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-K8s-Operator/examples">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Examples | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/docs/K8s-Operator/examples"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" co [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+to <a href="https://github.com/apache/incubator-uniffle/tree/master/deploy/kubernetes/operator/examples/configuration.yaml" target="_blank" rel="noopener noreferrer">configuration</a>).</p><p>Coordinator is a stateless service, when upgrading, we can directly update the configuration and then update the image.</p><p>Shuffle server is a stateful service, and the upgrade operation is more complicated, so we show examples of different
+upgrade modes.</p><ul><li><a href="https://github.com/apache/incubator-uniffle/tree/master/deploy/kubernetes/operator/examples/full-upgrade" target="_blank" rel="noopener noreferrer">Full Upgrade</a></li><li><a href="https://github.com/apache/incubator-uniffle/tree/master/deploy/kubernetes/operator/examples/full-restart" target="_blank" rel="noopener noreferrer">Full Restart</a></li><li><a href="https://github.com/apache/incubator-uniffle/tree/master/deploy/kubernetes/operator/examples/p [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/K8s-Operator/install/index.html b/docs/K8s-Operator/install/index.html
new file mode 100644
index 0000000..c812a7a
--- /dev/null
+++ b/docs/K8s-Operator/install/index.html
@@ -0,0 +1,24 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-K8s-Operator/install">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Installation | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/docs/K8s-Operator/install"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+to <a href="https://github.com/apache/incubator-uniffle/tree/master/deploy/kubernetes/operator/config/crd/bases/uniffle.apache.org_remoteshuffleservices.yaml" target="_blank" rel="noopener noreferrer">crd yaml file</a>.</p><p>Run the following command:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><co [...]
+from <a href="/docs/K8s-Operator/uniffle-operator-design">uniffle operator design</a>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="examples">Examples<a href="#examples" class="hash-link" aria-label="Direct link to Examples" title="Direct link to Examples">​</a></h2><p>Example uses of CRD have been <a href="/docs/K8s-Operator/examples">provided</a>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/K8s-Operator/uniffle-operator-design/index.html b/docs/K8s-Operator/uniffle-operator-design/index.html
new file mode 100644
index 0000000..45b5662
--- /dev/null
+++ b/docs/K8s-Operator/uniffle-operator-design/index.html
@@ -0,0 +1,31 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-K8s-Operator/uniffle-operator-design">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Uniffle Operator Design | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/docs/K8s-Operator/uniffle-operator-design"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+easily manage coordinator and shuffle server clusters.</p><p>In addition, based on the operating characteristics of shuffle servers, we hope to achieve safe offline:</p><ol><li>Before a shuffle server is scaled down or upgraded, it should be added to the Coordinator&#x27;s blacklist in advance.</li><li>After ensuring that the number of remaining applications is 0, allow its corresponding pod to be deleted and removed
+from the blacklist.</li></ol><p>We don&#x27;t just want to simply pull up the coordinators and shuffle servers, but also ensure that running jobs are not
+affected. Therefore, we decided to develop an operator specifically.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="goals">Goals<a href="#goals" class="hash-link" aria-label="Direct link to Goals" title="Direct link to Goals">​</a></h2><p>Operator will implement the following functions:</p><ol><li>Normally pull up two coordinator deployments (to ensure active-active) and a shuffle server statefulSet.</li><li>Supports replica expansion and upgrade of coordinators and shuffle server [...]
+grayscale upgrade.</li><li>Using the webhook mechanism, before a shuffle server is deleted, add its name to the coordinator&#x27;s blacklist, and
+check the number of applications remaining running, and then release the pod deletion request after ensuring safety.</li></ol><h2 class="anchor anchorWithStickyNavbar_LWe7" id="design-details">Design Details<a href="#design-details" class="hash-link" aria-label="Direct link to Design Details" title="Direct link to Design Details">​</a></h2><p>This operator consists of two components: a crd controller and a webhook that admits crd and pod requests.</p><p>The crd controller observes the st [...]
+remaining applications is 0.</p><p>The webhook will add the pod to be deleted to the coordinator&#x27;s blacklist. When the pod is actually deleted, the
+controller will remove it from the blacklist.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="crd-definition">CRD Definition<a href="#crd-definition" class="hash-link" aria-label="Direct link to CRD Definition" title="Direct link to CRD Definition">​</a></h2><p>An example of a crd object is as follows:</p><div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex [...]
+the workloads.</p><p>For shuffle servers, only by changing the spec.shuffleServer.sync field to true, the controller will apply the
+corresponding updates to the workloads.</p><p>If you want more examples, please read more in <a href="/docs/K8s-Operator/examples">examples</a>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="state-transition">State Transition<a href="#state-transition" class="hash-link" aria-label="Direct link to State Transition" title="Direct link to State Transition">​</a></h2><p><img loading="lazy" alt="state transition" src="/assets/images/rss-crd-state-transition-330944efa8bb505a5f33e6fa07a [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/build/index.html b/docs/build/index.html
new file mode 100644
index 0000000..db9b0aa
--- /dev/null
+++ b/docs/build/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-build">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Build Notes | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/docs/build"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="curren [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/client-guide/index.html b/docs/client-guide/index.html
new file mode 100644
index 0000000..c73f0b5
--- /dev/null
+++ b/docs/client-guide/index.html
@@ -0,0 +1,30 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-client-guide">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Uniffle Shuffle Client Guide | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/docs/client-guide"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_ [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+Uniffle has provided pluggable client plugins to enable remote shuffle in Spark and MapReduce.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="deploy">Deploy<a href="#deploy" class="hash-link" aria-label="Direct link to Deploy" title="Direct link to Deploy">​</a></h2><p>This document will introduce how to deploy Uniffle client plugins with Spark and MapReduce.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="deploy-spark-client-plugin">Deploy Spark Client Plugin<a href="#deplo [...]
+There are 2 patches for spark-2.4.6 and spark-3.1.2 in spark-patches folder for reference.</p><p>After apply the patch and rebuild spark, add following configuration in spark conf to enable dynamic allocation:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class= [...]
+and job recovery (i.e., <code>yarn.app.mapreduce.am.job.recovery.enable=false</code>)</p></li></ol><h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration">​</a></h2><p>The important configuration of client is listed as following.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="common-setting">Common Setting<a href="#common-setting" class=" [...]
+The client should use <code>DelegationRssShuffleManager</code> and provide its unique &lt;access_id&gt; so that the coordinator could distinguish whether it should enable remote shuffle.</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="col [...]
+Currently, this feature only supports Spark.</p><p>Other configuration:</p><table><thead><tr><th>Property Name</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td>spark.rss.access.timeout.ms</td><td>10000</td><td>The timeout to access Uniffle coordinator</td></tr><tr><td>spark.rss.client.access.retry.interval.ms</td><td>20000</td><td>The interval between retries fallback to SortShuffleManager</td></tr><tr><td>spark.rss.client.access.retry.times</td><td>0</td><td>The numbe [...]
+This feature is client-side behaviour, in which shuffle writer sends each block to multiple servers, and shuffle readers could fetch block data from one of server.
+Since sending multiple replicas of blocks can reduce the shuffle performance and resource consumption, we designed it as an optional feature.</p><table><thead><tr><th>Property Name</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td>&lt;client_type&gt;.rss.data.replica</td><td>1</td><td>The max server number that each block can be send by client in quorum protocol</td></tr><tr><td>&lt;client_type&gt;.rss.data.replica.write</td><td>1</td><td>The min server number that each [...]
+This experimental feature allows reduce tasks to spill data to remote storage (e.g., hdfs)</p><table><thead><tr><th>Property Name</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td>mapreduce.rss.reduce.remote.spill.enable</td><td>false</td><td>Whether to use remote spill</td></tr><tr><td>mapreduce.rss.reduce.remote.spill.attempt.inc</td><td>1</td><td>Increase reduce attempts as hdfs is easier to crash than disk</td></tr><tr><td>mapreduce.rss.reduce.remote.spill.replicati [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/configuration/index.html b/docs/configuration/index.html
new file mode 100644
index 0000000..927b7a3
--- /dev/null
+++ b/docs/configuration/index.html
@@ -0,0 +1,23 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-configuration">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Uniffle Configuration | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/docs/configuration"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_versio [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+<code>spark.</code> is used by the spark client and <code>mapreduce.</code> is used by the mr client.</p></blockquote><table><thead><tr><th>Property Name</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td>rss.c.ient.type</td><td>GRPC</td><td>rpc client type</td></tr><tr><td>rss.client.retry.max</td><td>100</td><td>max rpc retry count</td></tr><tr><td>rss.client.retry.interval.max</td><td>10000</td><td>rpc retry interval (ms)</td></tr><tr><td>rss.coordinator.quorum</td><t [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/intro/index.html b/docs/intro/index.html
new file mode 100644
index 0000000..6f4dfb9
--- /dev/null
+++ b/docs/intro/index.html
@@ -0,0 +1,29 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-intro">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Intro | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/docs/intro"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><me [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+to store shuffle data on remote servers.</p><p><a href="https://github.com/apache/incubator-uniffle/actions/workflows/build.yml" target="_blank" rel="noopener noreferrer"><img loading="lazy" src="https://github.com/apache/incubator-uniffle/actions/workflows/build.yml/badge.svg?branch=master&amp;event=push" alt="Build" class="img_ev3q"></a>
+<a href="https://codecov.io/gh/apache/incubator-uniffle" target="_blank" rel="noopener noreferrer"><img loading="lazy" src="https://codecov.io/gh/apache/incubator-uniffle/branch/master/graph/badge.svg" alt="Codecov" class="img_ev3q"></a></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="architecture">Architecture<a href="#architecture" class="hash-link" aria-label="Direct link to Architecture" title="Direct link to Architecture">​</a></h2><p><img loading="lazy" alt="Rss Architecture" [...]
+Uniffle contains coordinator cluster, shuffle server cluster and remote storage(eg, HDFS) if necessary.</p><p>Coordinator will collect status of shuffle server and do the assignment for the job.</p><p>Shuffle server will receive the shuffle data, merge them and write to storage.</p><p>Depend on different situation, Uniffle supports Memory &amp; Local, Memory &amp; Remote Storage(eg, HDFS), Memory &amp; Local &amp; Remote Storage(recommendation for production environment).</p><h2 class="a [...]
+<img loading="lazy" alt="Rss Shuffle_Write" src="/assets/images/rss_shuffle_write-0018bea428f435c37c6f369defc3a081.png" width="997" height="499" class="img_ev3q"></p><ol><li>Send KV data to buffer</li><li>Flush buffer to queue when buffer is full or buffer manager is full</li><li>Thread pool get data from queue</li><li>Request memory from shuffle server first and send the shuffle data</li><li>Shuffle server cache data in memory first and flush to queue when buffer manager is full</li><li [...]
+To build it, run:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn -DskipTests clean package</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy co [...]
+There are 3 patches for spark (2.4.6/3.1.2/3.2.1) in spark-patches folder for reference.</p><p>After apply the patch and rebuild spark, add following configuration in spark conf to enable dynamic allocation:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="t [...]
+and job recovery (i.e., <code>yarn.app.mapreduce.am.job.recovery.enable=false</code>)</p></li></ol><h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Direct link to Configuration" title="Direct link to Configuration">​</a></h2><p>The important configuration is listed as following.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="coordinator">Coordinator<a href="#coordinator" class="hash-link" aria-lab [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/tuning/index.html b/docs/tuning/index.html
new file mode 100644
index 0000000..a1d29dc
--- /dev/null
+++ b/docs/tuning/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-tuning">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Tuning Uniffle | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/docs/tuning"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="cu [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/download/index.html b/download/index.html
new file mode 100644
index 0000000..4c5eb3d
--- /dev/null
+++ b/download/index.html
@@ -0,0 +1,31 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-download docs-doc-id-index">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Download | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/download/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current">< [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+The latest release is <code>0.7.1</code>.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="releases">Releases<a href="#releases" class="hash-link" aria-label="Direct link to Releases" title="Direct link to Releases">​</a></h3><table class="table table-hover sortable"><thead><tr><th><b>Name</b></th><th><b>Source Archive</b></th><th><b>SHA-512</b></th><th><b>Signature</b></th><th><b>Release Notes</b></th></tr></thead><tbody><tr><td>Apache Uniffle 0.8.0 (incubating)</td><td><a href="ht [...]
+and <a href="https://www.apache.org/dyn/closer.cgi#verify" target="_blank" rel="noopener noreferrer">verify</a>
+using the corresponding <em>pgp</em> signature (using the committer file in
+<a href="https://downloads.apache.org/incubator/uniffle/KEYS" target="_blank" rel="noopener noreferrer">KEYS</a>).
+If you cannot do that, the <em>sha512</em> hash file may be used to check that the
+download has completed OK.</p><p>For fast downloads, current source distributions are hosted on
+<a href="https://dlcdn.apache.org/incubator/uniffle/" target="_blank" rel="noopener noreferrer">mirror servers</a>;
+older source distributions are in the
+<a href="https://archive.apache.org/dist/incubator/uniffle/" target="_blank" rel="noopener noreferrer">archive</a>.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><a class="pagination-nav__link pagination-nav__link--next" href="/download/release-notes-0.8.0"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Release Notes 0.8.0</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/download/release-notes-0.6.0/index.html b/download/release-notes-0.6.0/index.html
new file mode 100644
index 0000000..6054413
--- /dev/null
+++ b/download/release-notes-0.6.0/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-download docs-doc-id-release-notes-0.6.0">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Release Notes 0.6.0 | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/download/release-notes-0.6.0"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusauru [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/download/release-notes-0.6.1/index.html b/download/release-notes-0.6.1/index.html
new file mode 100644
index 0000000..44448bb
--- /dev/null
+++ b/download/release-notes-0.6.1/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-download docs-doc-id-release-notes-0.6.1">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Release Notes 0.6.1 | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/download/release-notes-0.6.1"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusauru [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/download/release-notes-0.7.0/index.html b/download/release-notes-0.7.0/index.html
new file mode 100644
index 0000000..917c86b
--- /dev/null
+++ b/download/release-notes-0.7.0/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-download docs-doc-id-release-notes-0.7.0">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Release Notes 0.7.0 | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/download/release-notes-0.7.0"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusauru [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/download/release-notes-0.7.1/index.html b/download/release-notes-0.7.1/index.html
new file mode 100644
index 0000000..8995de4
--- /dev/null
+++ b/download/release-notes-0.7.1/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-download docs-doc-id-release-notes-0.7.1">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Release Notes 0.7.1 | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/download/release-notes-0.7.1"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusauru [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/download/release-notes-0.8.0/index.html b/download/release-notes-0.8.0/index.html
new file mode 100644
index 0000000..6e4679f
--- /dev/null
+++ b/download/release-notes-0.8.0/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-download docs-doc-id-release-notes-0.8.0">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Release Notes 0.8.0 | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/download/release-notes-0.8.0"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusauru [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/img/apache-incubator.svg b/img/apache-incubator.svg
new file mode 100644
index 0000000..f5fa825
--- /dev/null
+++ b/img/apache-incubator.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg"  height="35"   viewBox="0 0 473.26 110.22"><defs><style>.cls-1,.cls-2{fill:#fff;}.cls-1{fill-rule:evenodd;}</style></defs><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><polygon class="cls-1" points="445.81 13.29 467.03 13.29 467.03 15.29 448.03 15.29 448.03 27.09 465.11 27.09 465.11 29.09 448.03 29.09 448.03 41.1 467.24 41.1 467.24 43.11 445.81 43.11 445.81 13.29"/><polygon class="cls-1" points="377.65 13.29 379.86 13.29 [...]
\ No newline at end of file
diff --git a/img/favicon.ico b/img/favicon.ico
new file mode 100644
index 0000000..f3a1d5e
Binary files /dev/null and b/img/favicon.ico differ
diff --git a/img/uniffle-logo.png b/img/uniffle-logo.png
new file mode 100644
index 0000000..1acf400
Binary files /dev/null and b/img/uniffle-logo.png differ
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..e83d6e4
--- /dev/null
+++ b/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="plugin-pages plugin-id-default">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Home | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="tru [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div id="docusaurus-base-url-issue-banner-container"></div><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hid [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/search-index.json b/search-index.json
new file mode 100644
index 0000000..f2b988b
--- /dev/null
+++ b/search-index.json
@@ -0,0 +1 @@
+[{"documents":[{"i":1,"t":"","u":"/blog/archive","b":["Blog"]},{"i":2,"t":"Uniffle - New chapter for the shuffle in the cloud native era","u":"/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era","b":["Blog"]},{"i":68,"t":"Uniffle Shuffle Client Guide","u":"/docs/client-guide","b":["Docs"]},{"i":92,"t":"Build Notes","u":"/docs/build","b":["Docs"]},{"i":112,"t":"2022 summary","u":"/blog/2023/01/09/2022 summary","b":["Blog"]},{"i":125,"t":"Uniffle Configuration", [...]
\ No newline at end of file
diff --git a/search/index.html b/search/index.html
new file mode 100644
index 0000000..e1a61aa
--- /dev/null
+++ b/search/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="en" dir="ltr" class="plugin-@easyops-cn/docusaurus-search-local plugin-id-default">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Search the documentation</title><meta data-rh="true" property="og:title" content="Apache Uniffle (Incubating)"><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/search"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><me [...]
+<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/assets/js/runtime~main.9411570b.js" as="script">
+<link rel="preload" href="/assets/js/main.bb467f53.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="roun [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/assets/js/runtime~main.9411570b.js"></script>
+<script src="/assets/js/main.bb467f53.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/sitemap.xml b/sitemap.xml
new file mode 100644
index 0000000..c7c6a0b
--- /dev/null
+++ b/sitemap.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://uniffle.apache.org/blog</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://uniffle.apache.org/blog/2023/01/09/2022%2 [...]
\ No newline at end of file
diff --git a/zh-CN/.asf.yaml b/zh-CN/.asf.yaml
new file mode 100644
index 0000000..f3e8eb5
--- /dev/null
+++ b/zh-CN/.asf.yaml
@@ -0,0 +1,39 @@
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+
+github:
+  description: "Apache Uniffle (Incubating) Website"
+  homepage: https://uniffle.apache.org/
+  features:
+    issues: false
+    projects: false
+    wiki: false
+  labels:
+    - uniffle
+  enabled_merge_buttons:
+    squash:  true
+    merge:   false
+    rebase:  false
+
+publish:
+  whoami: asf-site
+
+notifications:
+  commits:      commits@uniffle.apache.org
+  issues:       issues@uniffle.apache.org
+  pullrequests: issues@uniffle.apache.org
+  jobs:         issues@uniffle.apache.org
diff --git a/zh-CN/.nojekyll b/zh-CN/.nojekyll
new file mode 100644
index 0000000..e69de29
diff --git a/zh-CN/404.html b/zh-CN/404.html
new file mode 100644
index 0000000..ad05740
--- /dev/null
+++ b/zh-CN/404.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="plugin-native plugin-id-default">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">找不到页面 | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/404.html"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="zh-C [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/assets/css/styles.c92a85d1.css b/zh-CN/assets/css/styles.c92a85d1.css
new file mode 100644
index 0000000..3192796
--- /dev/null
+++ b/zh-CN/assets/css/styles.c92a85d1.css
@@ -0,0 +1 @@
+.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middl [...]
\ No newline at end of file
diff --git a/zh-CN/assets/images/aqe-6090c8ed1b91b4b4892a95c69e9a1fb5.png b/zh-CN/assets/images/aqe-6090c8ed1b91b4b4892a95c69e9a1fb5.png
new file mode 100644
index 0000000..bc96bdf
Binary files /dev/null and b/zh-CN/assets/images/aqe-6090c8ed1b91b4b4892a95c69e9a1fb5.png differ
diff --git a/zh-CN/assets/images/architecture-7834d0c01ac53efa9d174f422dce53c7.png b/zh-CN/assets/images/architecture-7834d0c01ac53efa9d174f422dce53c7.png
new file mode 100644
index 0000000..9f2a3b1
Binary files /dev/null and b/zh-CN/assets/images/architecture-7834d0c01ac53efa9d174f422dce53c7.png differ
diff --git a/zh-CN/assets/images/data_read-ac02ea36c77de94218cd05f37c0aefc5.png b/zh-CN/assets/images/data_read-ac02ea36c77de94218cd05f37c0aefc5.png
new file mode 100644
index 0000000..b56efb1
Binary files /dev/null and b/zh-CN/assets/images/data_read-ac02ea36c77de94218cd05f37c0aefc5.png differ
diff --git a/zh-CN/assets/images/get_results-71ce542dca970bff80b6d444dbf4081c.png b/zh-CN/assets/images/get_results-71ce542dca970bff80b6d444dbf4081c.png
new file mode 100644
index 0000000..220f0b6
Binary files /dev/null and b/zh-CN/assets/images/get_results-71ce542dca970bff80b6d444dbf4081c.png differ
diff --git a/zh-CN/assets/images/gluten-cc81f323d5ee32b7e66bacb4c092cf03.png b/zh-CN/assets/images/gluten-cc81f323d5ee32b7e66bacb4c092cf03.png
new file mode 100644
index 0000000..09b1c20
Binary files /dev/null and b/zh-CN/assets/images/gluten-cc81f323d5ee32b7e66bacb4c092cf03.png differ
diff --git a/zh-CN/assets/images/hdfs_fallback-d0fed05ac57c1a5b847f1722faf7a0d9.png b/zh-CN/assets/images/hdfs_fallback-d0fed05ac57c1a5b847f1722faf7a0d9.png
new file mode 100644
index 0000000..beb5f73
Binary files /dev/null and b/zh-CN/assets/images/hdfs_fallback-d0fed05ac57c1a5b847f1722faf7a0d9.png differ
diff --git a/zh-CN/assets/images/io_random-ff932038e6d7a062dd69caf5dd551c40.png b/zh-CN/assets/images/io_random-ff932038e6d7a062dd69caf5dd551c40.png
new file mode 100644
index 0000000..e87286b
Binary files /dev/null and b/zh-CN/assets/images/io_random-ff932038e6d7a062dd69caf5dd551c40.png differ
diff --git a/zh-CN/assets/images/io_sort-e5f484b4875a3d5304749095a0f2a801.png b/zh-CN/assets/images/io_sort-e5f484b4875a3d5304749095a0f2a801.png
new file mode 100644
index 0000000..c6f9173
Binary files /dev/null and b/zh-CN/assets/images/io_sort-e5f484b4875a3d5304749095a0f2a801.png differ
diff --git a/zh-CN/assets/images/metadata-8563427393aeb355a2f368b2507948e6.png b/zh-CN/assets/images/metadata-8563427393aeb355a2f368b2507948e6.png
new file mode 100644
index 0000000..87ea664
Binary files /dev/null and b/zh-CN/assets/images/metadata-8563427393aeb355a2f368b2507948e6.png differ
diff --git a/zh-CN/assets/images/process-45f0f6011477c8e1a8f46aa2f19181cb.png b/zh-CN/assets/images/process-45f0f6011477c8e1a8f46aa2f19181cb.png
new file mode 100644
index 0000000..059c83b
Binary files /dev/null and b/zh-CN/assets/images/process-45f0f6011477c8e1a8f46aa2f19181cb.png differ
diff --git a/zh-CN/assets/images/rss-crd-state-transition-330944efa8bb505a5f33e6fa07a66365.png b/zh-CN/assets/images/rss-crd-state-transition-330944efa8bb505a5f33e6fa07a66365.png
new file mode 100644
index 0000000..f5329b8
Binary files /dev/null and b/zh-CN/assets/images/rss-crd-state-transition-330944efa8bb505a5f33e6fa07a66365.png differ
diff --git a/zh-CN/assets/images/rss_architecture-a3a32a259b8b40834c295f5f17ce66cb.png b/zh-CN/assets/images/rss_architecture-a3a32a259b8b40834c295f5f17ce66cb.png
new file mode 100644
index 0000000..fded522
Binary files /dev/null and b/zh-CN/assets/images/rss_architecture-a3a32a259b8b40834c295f5f17ce66cb.png differ
diff --git a/zh-CN/assets/images/rss_data_format-423a8687082f4a77620d97a97b01d204.png b/zh-CN/assets/images/rss_data_format-423a8687082f4a77620d97a97b01d204.png
new file mode 100644
index 0000000..88e289e
Binary files /dev/null and b/zh-CN/assets/images/rss_data_format-423a8687082f4a77620d97a97b01d204.png differ
diff --git a/zh-CN/assets/images/rss_shuffle_write-0018bea428f435c37c6f369defc3a081.png b/zh-CN/assets/images/rss_shuffle_write-0018bea428f435c37c6f369defc3a081.png
new file mode 100644
index 0000000..f1dc259
Binary files /dev/null and b/zh-CN/assets/images/rss_shuffle_write-0018bea428f435c37c6f369defc3a081.png differ
diff --git a/zh-CN/assets/images/select-d79bdaa68e6d184663ca0364a6f03f26.png b/zh-CN/assets/images/select-d79bdaa68e6d184663ca0364a6f03f26.png
new file mode 100644
index 0000000..6e2c4bd
Binary files /dev/null and b/zh-CN/assets/images/select-d79bdaa68e6d184663ca0364a6f03f26.png differ
diff --git a/zh-CN/assets/js/0cb89a38.9a023742.js b/zh-CN/assets/js/0cb89a38.9a023742.js
new file mode 100644
index 0000000..7bce835
--- /dev/null
+++ b/zh-CN/assets/js/0cb89a38.9a023742.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3270],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>k});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/0ef66a7b.9b81c0c2.js b/zh-CN/assets/js/0ef66a7b.9b81c0c2.js
new file mode 100644
index 0000000..ebe5dae
--- /dev/null
+++ b/zh-CN/assets/js/0ef66a7b.9b81c0c2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5957],{3905:(e,t,l)=>{l.d(t,{Zo:()=>p,kt:()=>k});var a=l(7294);function r(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function n(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}function i( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/17896441.31590cc0.js b/zh-CN/assets/js/17896441.31590cc0.js
new file mode 100644
index 0000000..7f6a3e8
--- /dev/null
+++ b/zh-CN/assets/js/17896441.31590cc0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7918],{8945:(e,t,n)=>{n.r(t),n.d(t,{default:()=>ie});var a=n(7294),l=n(1944),o=n(902);const r=a.createContext(null);function s(e){let{children:t,content:n}=e;const l=function(e){return(0,a.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return a.createElement(r.Provider,{value:l},t)}function c(){const e=(0,a.useContext)(r);if(null===e [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/1a4e3797.0231b2d7.js b/zh-CN/assets/js/1a4e3797.0231b2d7.js
new file mode 100644
index 0000000..d403e00
--- /dev/null
+++ b/zh-CN/assets/js/1a4e3797.0231b2d7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7920],{8824:(e,t,r)=>{r.d(t,{c:()=>u});var a=r(7294),n=r(2263);const l=["zero","one","two","few","many","other"];function s(e){return l.filter((t=>e.includes(t)))}const c={locale:"en",pluralForms:s(["one","other"]),select:e=>1===e?"one":"other"};function o(){const{i18n:{currentLocale:e}}=(0,n.Z)();return(0,a.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:s(t.reso [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/1be78505.05a4308a.js b/zh-CN/assets/js/1be78505.05a4308a.js
new file mode 100644
index 0000000..773f44f
--- /dev/null
+++ b/zh-CN/assets/js/1be78505.05a4308a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9514,4972],{9963:(e,t,n)=>{n.r(t),n.d(t,{default:()=>fe});var a=n(7294),l=n(6010),o=n(1944),r=n(5281),c=n(3320),i=n(2802),s=n(4477),d=n(1116),m=n(179),u=n(5999),b=n(2466),p=n(5936);const h={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};function E(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,l]=(0,a.useState)(!1),o=(0,a.useRef)(!1),{startScroll:r,ca [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/236d553a.d4389768.js b/zh-CN/assets/js/236d553a.d4389768.js
new file mode 100644
index 0000000..4410278
--- /dev/null
+++ b/zh-CN/assets/js/236d553a.d4389768.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6823],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>h});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/2697e8cd.47a3cc9e.js b/zh-CN/assets/js/2697e8cd.47a3cc9e.js
new file mode 100644
index 0000000..f808fc5
--- /dev/null
+++ b/zh-CN/assets/js/2697e8cd.47a3cc9e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7933],{1635:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"download"}')}}]);
\ No newline at end of file
diff --git a/zh-CN/assets/js/26991455.8eae4d3e.js b/zh-CN/assets/js/26991455.8eae4d3e.js
new file mode 100644
index 0000000..4168832
--- /dev/null
+++ b/zh-CN/assets/js/26991455.8eae4d3e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8659],{3905:(t,e,n)=>{n.d(e,{Zo:()=>c,kt:()=>k});var r=n(7294);function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function l(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function i( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/306a8c6c.386c955d.js b/zh-CN/assets/js/306a8c6c.386c955d.js
new file mode 100644
index 0000000..c78c8d3
--- /dev/null
+++ b/zh-CN/assets/js/306a8c6c.386c955d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7616],{9479:e=>{e.exports=JSON.parse('{"pluginId":"community","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"how to release","href":"/zh-CN/community/how to release","docId":"how to release"},{"type":"link","label":"how to contribute","href":"/zh-CN/community/how to contribut [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/315cc475.88c81916.js b/zh-CN/assets/js/315cc475.88c81916.js
new file mode 100644
index 0000000..3362d7d
--- /dev/null
+++ b/zh-CN/assets/js/315cc475.88c81916.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4361],{3905:(t,e,a)=>{a.d(e,{Zo:()=>p,kt:()=>N});var r=a(7294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,r)}return a}function i( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/3a51d15f.1fbc3da1.js b/zh-CN/assets/js/3a51d15f.1fbc3da1.js
new file mode 100644
index 0000000..3e273c6
--- /dev/null
+++ b/zh-CN/assets/js/3a51d15f.1fbc3da1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6406],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/3c4daf9d.4fab045f.js b/zh-CN/assets/js/3c4daf9d.4fab045f.js
new file mode 100644
index 0000000..bc4dda9
--- /dev/null
+++ b/zh-CN/assets/js/3c4daf9d.4fab045f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5330],{4469:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]);
\ No newline at end of file
diff --git a/zh-CN/assets/js/4972.b2062fd1.js b/zh-CN/assets/js/4972.b2062fd1.js
new file mode 100644
index 0000000..3cabf55
--- /dev/null
+++ b/zh-CN/assets/js/4972.b2062fd1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4972],{4972:(e,t,n)=>{n.r(t),n.d(t,{default:()=>i});var a=n(7294),l=n(5999),o=n(1944),r=n(179);function i(){return a.createElement(a.Fragment,null,a.createElement(o.d,{title:(0,l.I)({id:"theme.NotFound.title",message:"Page Not Found"})}),a.createElement(r.Z,null,a.createElement("main",{className:"container margin-vert--xl"},a.createElement("div",{className:"row"},a.createElement("div",{className:"col col--6 col-- [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/4f36484c.c1c86b00.js b/zh-CN/assets/js/4f36484c.c1c86b00.js
new file mode 100644
index 0000000..967e797
--- /dev/null
+++ b/zh-CN/assets/js/4f36484c.c1c86b00.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8938],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>h});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function s( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/50bc71d4.44a82ee6.js b/zh-CN/assets/js/50bc71d4.44a82ee6.js
new file mode 100644
index 0000000..44815e0
--- /dev/null
+++ b/zh-CN/assets/js/50bc71d4.44a82ee6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8643],{970:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era","metadata":{"permalink":"/zh-CN/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era","editUrl":"https://github.com/apache/incubator-uniffle/blog/2023-07-21/Uniffle - New chapter for the shuffle in the cloud native era.md","source":"@site/i18n/zh-CN/docusaur [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/5525.36b2ab15.js b/zh-CN/assets/js/5525.36b2ab15.js
new file mode 100644
index 0000000..4d7bf94
--- /dev/null
+++ b/zh-CN/assets/js/5525.36b2ab15.js
@@ -0,0 +1 @@
+(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5525],{5525:()=>{}}]);
\ No newline at end of file
diff --git a/zh-CN/assets/js/5665.3fb2cbd0.js b/zh-CN/assets/js/5665.3fb2cbd0.js
new file mode 100644
index 0000000..f895430
--- /dev/null
+++ b/zh-CN/assets/js/5665.3fb2cbd0.js
@@ -0,0 +1 @@
+(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5665],{3905:(e,t,n)=>{"use strict";n.d(t,{Zo:()=>u,kt:()=>f});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function l( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/5fd8e189.c64ed0a2.js b/zh-CN/assets/js/5fd8e189.c64ed0a2.js
new file mode 100644
index 0000000..23b7473
--- /dev/null
+++ b/zh-CN/assets/js/5fd8e189.c64ed0a2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4071],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>f});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/5fd98138.24dd31da.js b/zh-CN/assets/js/5fd98138.24dd31da.js
new file mode 100644
index 0000000..bab6c7d
--- /dev/null
+++ b/zh-CN/assets/js/5fd98138.24dd31da.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3230],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>h});var n=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/6048.100b2257.js b/zh-CN/assets/js/6048.100b2257.js
new file mode 100644
index 0000000..5de0318
--- /dev/null
+++ b/zh-CN/assets/js/6048.100b2257.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6048],{9058:(e,t,a)=>{a.d(t,{Z:()=>h});var l=a(7294),r=a(6010),n=a(179),o=a(7524),s=a(9960),i=a(5999);const m={sidebar:"sidebar_re4s",sidebarItemTitle:"sidebarItemTitle_pO2u",sidebarItemList:"sidebarItemList_Yudw",sidebarItem:"sidebarItem__DBe",sidebarItemLink:"sidebarItemLink_mo7H",sidebarItemLinkActive:"sidebarItemLinkActive_I1ZP"};function c(e){let{sidebar:t}=e;return l.createElement("aside",{className:"col co [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/63c2eacd.36422a38.js b/zh-CN/assets/js/63c2eacd.36422a38.js
new file mode 100644
index 0000000..bab2ae0
--- /dev/null
+++ b/zh-CN/assets/js/63c2eacd.36422a38.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3145],{3905:(e,t,a)=>{a.d(t,{Zo:()=>u,kt:()=>c});var r=a(7294);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function n( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/814f3328.53968dd9.js b/zh-CN/assets/js/814f3328.53968dd9.js
new file mode 100644
index 0000000..4414023
--- /dev/null
+++ b/zh-CN/assets/js/814f3328.53968dd9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2535],{5641:e=>{e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Uniffle - New chapter for the shuffle in the cloud native era","permalink":"/zh-CN/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era"},{"title":"2022 summary","permalink":"/zh-CN/blog/2023/01/09/2022 summary"}]}')}}]);
\ No newline at end of file
diff --git a/zh-CN/assets/js/82aa1fce.df469350.js b/zh-CN/assets/js/82aa1fce.df469350.js
new file mode 100644
index 0000000..3b867fa
--- /dev/null
+++ b/zh-CN/assets/js/82aa1fce.df469350.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4950],{2481:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"community"}')}}]);
\ No newline at end of file
diff --git a/zh-CN/assets/js/8443.30345cef.js b/zh-CN/assets/js/8443.30345cef.js
new file mode 100644
index 0000000..9a6337a
--- /dev/null
+++ b/zh-CN/assets/js/8443.30345cef.js
@@ -0,0 +1,2 @@
+/*! For license information please see 8443.30345cef.js.LICENSE.txt */
+(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8443],{8443:(t,e,n)=>{"use strict";t.exports=n(295)},1228:(t,e,n)=>{"use strict";var i=n(2856),s={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",le [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/8443.30345cef.js.LICENSE.txt b/zh-CN/assets/js/8443.30345cef.js.LICENSE.txt
new file mode 100644
index 0000000..4f7ccd8
--- /dev/null
+++ b/zh-CN/assets/js/8443.30345cef.js.LICENSE.txt
@@ -0,0 +1 @@
+/*! https://mths.be/cssesc v3.0.0 by @mathias */
diff --git a/zh-CN/assets/js/8d998be3.647862a1.js b/zh-CN/assets/js/8d998be3.647862a1.js
new file mode 100644
index 0000000..c8e9a6c
--- /dev/null
+++ b/zh-CN/assets/js/8d998be3.647862a1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5197],{3755:e=>{e.exports=JSON.parse('{"permalink":"/zh-CN/blog","page":1,"postsPerPage":10,"totalPages":1,"totalCount":2,"blogDescription":"Blog","blogTitle":"Blog"}')}}]);
\ No newline at end of file
diff --git a/zh-CN/assets/js/90536160.98ea5e4f.js b/zh-CN/assets/js/90536160.98ea5e4f.js
new file mode 100644
index 0000000..961ba04
--- /dev/null
+++ b/zh-CN/assets/js/90536160.98ea5e4f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[230],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>d});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/935f2afb.2a43893c.js b/zh-CN/assets/js/935f2afb.2a43893c.js
new file mode 100644
index 0000000..2a62ccd
--- /dev/null
+++ b/zh-CN/assets/js/935f2afb.2a43893c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"\u4ecb\u7ecd","href":"/zh-CN/docs/intro","docId":"intro"},{"type":"link","label":"Uniffle Shuffle Client Guide","href":"/zh-CN/docs/client-guide","docId":"client-guide"},{ [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/93ca4beb.9cd127c3.js b/zh-CN/assets/js/93ca4beb.9cd127c3.js
new file mode 100644
index 0000000..5ecd7ad
--- /dev/null
+++ b/zh-CN/assets/js/93ca4beb.9cd127c3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4086],{8070:e=>{e.exports=JSON.parse('{"pluginId":"download","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Download","href":"/zh-CN/download/","docId":"index"},{"type":"link","label":"Release Notes 0.8.0","href":"/zh-CN/download/release-notes-0.8.0","docId":"release-notes-0. [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/94b8b27b.f4667046.js b/zh-CN/assets/js/94b8b27b.f4667046.js
new file mode 100644
index 0000000..d869091
--- /dev/null
+++ b/zh-CN/assets/js/94b8b27b.f4667046.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[644],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var n=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/96f77003.183cbf02.js b/zh-CN/assets/js/96f77003.183cbf02.js
new file mode 100644
index 0000000..3b7ec55
--- /dev/null
+++ b/zh-CN/assets/js/96f77003.183cbf02.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2072],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>h});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/97180c32.8ebc1e65.js b/zh-CN/assets/js/97180c32.8ebc1e65.js
new file mode 100644
index 0000000..09a0c20
--- /dev/null
+++ b/zh-CN/assets/js/97180c32.8ebc1e65.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4218],{1235:(e,t,n)=>{n.r(t),n.d(t,{default:()=>h});var a=n(7294),l=n(6010),r=n(9960),c=n(2263),s=n(179),i=n(7462);const o={features:"features_t9lD",featureSvg:"featureSvg_GfXr"},u=[{title:"\u5feb\u901f",description:a.createElement(a.Fragment,null,"\u51cf\u5c11\u6570\u636e shuffle \u8fc7\u7a0b\u4e2d\u7684\u8fde\u63a5\u6570\u548c\u968f\u673a I/O\u3002")},{title:"\u53ef\u9760",description:a.createElement(a.Fragment [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/9a0f4242.df61ebe1.js b/zh-CN/assets/js/9a0f4242.df61ebe1.js
new file mode 100644
index 0000000..cd486dc
--- /dev/null
+++ b/zh-CN/assets/js/9a0f4242.df61ebe1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6148],{3905:(e,t,i)=>{i.d(t,{Zo:()=>d,kt:()=>b});var r=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function l( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/9e4087bc.32b8fabc.js b/zh-CN/assets/js/9e4087bc.32b8fabc.js
new file mode 100644
index 0000000..0c3dec2
--- /dev/null
+++ b/zh-CN/assets/js/9e4087bc.32b8fabc.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3608],{3169:(e,t,a)=>{a.r(t),a.d(t,{default:()=>o});var r=a(7294),l=a(9960),n=a(5999),c=a(1944),i=a(179);function m(e){let{year:t,posts:a}=e;return r.createElement(r.Fragment,null,r.createElement("h3",null,t),r.createElement("ul",null,a.map((e=>r.createElement("li",{key:e.metadata.date},r.createElement(l.Z,{to:e.metadata.permalink},e.metadata.formattedDate," - ",e.metadata.title))))))}function s(e){let{years:t}=e [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/a6aa9e1f.e8c1f1ea.js b/zh-CN/assets/js/a6aa9e1f.e8c1f1ea.js
new file mode 100644
index 0000000..7519969
--- /dev/null
+++ b/zh-CN/assets/js/a6aa9e1f.e8c1f1ea.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3089],{3269:(e,t,a)=>{a.r(t),a.d(t,{default:()=>k});var n=a(7294),l=a(6010),r=a(2263),i=a(1944),o=a(5281),s=a(9058),m=a(5999),c=a(2244);function g(e){const{metadata:t}=e,{previousPage:a,nextPage:l}=t;return n.createElement("nav",{className:"pagination-nav","aria-label":(0,m.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"})},a&&n.c [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/a84996eb.98ffd9af.js b/zh-CN/assets/js/a84996eb.98ffd9af.js
new file mode 100644
index 0000000..4ac2690
--- /dev/null
+++ b/zh-CN/assets/js/a84996eb.98ffd9af.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3510],{3905:(e,t,a)=>{a.d(t,{Zo:()=>d,kt:()=>k});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/a94bd1d8.2599a1d4.js b/zh-CN/assets/js/a94bd1d8.2599a1d4.js
new file mode 100644
index 0000000..85e8015
--- /dev/null
+++ b/zh-CN/assets/js/a94bd1d8.2599a1d4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8628],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>h});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/a9dfc084.779a5e1a.js b/zh-CN/assets/js/a9dfc084.779a5e1a.js
new file mode 100644
index 0000000..5a856b2
--- /dev/null
+++ b/zh-CN/assets/js/a9dfc084.779a5e1a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1748],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>c});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function s( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/b06a86ee.6ca28590.js b/zh-CN/assets/js/b06a86ee.6ca28590.js
new file mode 100644
index 0000000..ff2a00c
--- /dev/null
+++ b/zh-CN/assets/js/b06a86ee.6ca28590.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2336],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>f});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/b265a160.9e1c9eb9.js b/zh-CN/assets/js/b265a160.9e1c9eb9.js
new file mode 100644
index 0000000..38560ea
--- /dev/null
+++ b/zh-CN/assets/js/b265a160.9e1c9eb9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8209],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>k});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/c7398828.1000c621.js b/zh-CN/assets/js/c7398828.1000c621.js
new file mode 100644
index 0000000..1718ca4
--- /dev/null
+++ b/zh-CN/assets/js/c7398828.1000c621.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5667],{3905:(e,t,a)=>{a.d(t,{Zo:()=>o,kt:()=>s});var i=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,i)}return a}function u( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/c89fd3f9.ce22ca4c.js b/zh-CN/assets/js/c89fd3f9.ce22ca4c.js
new file mode 100644
index 0000000..ccf7283
--- /dev/null
+++ b/zh-CN/assets/js/c89fd3f9.ce22ca4c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2198],{3769:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]);
\ No newline at end of file
diff --git a/zh-CN/assets/js/ccc49370.5cfe080a.js b/zh-CN/assets/js/ccc49370.5cfe080a.js
new file mode 100644
index 0000000..26d338e
--- /dev/null
+++ b/zh-CN/assets/js/ccc49370.5cfe080a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6103],{5203:(e,t,n)=>{n.r(t),n.d(t,{default:()=>h});var a=n(7294),l=n(6010),r=n(1944),o=n(5281),i=n(9460),c=n(9058),s=n(390),m=n(7462),d=n(5999),u=n(2244);function g(e){const{nextItem:t,prevItem:n}=e;return a.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,d.I)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The ARIA label for the blog [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/d49eaa9b.2f015b5e.js b/zh-CN/assets/js/d49eaa9b.2f015b5e.js
new file mode 100644
index 0000000..42df526
--- /dev/null
+++ b/zh-CN/assets/js/d49eaa9b.2f015b5e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4202],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>f});var a=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/e1c327c2.17795745.js b/zh-CN/assets/js/e1c327c2.17795745.js
new file mode 100644
index 0000000..c5d6ba0
--- /dev/null
+++ b/zh-CN/assets/js/e1c327c2.17795745.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[682],{3905:(e,t,l)=>{l.d(t,{Zo:()=>p,kt:()=>k});var a=l(7294);function r(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function n(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}function i(e [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/e331eb86.9f2141ab.js b/zh-CN/assets/js/e331eb86.9f2141ab.js
new file mode 100644
index 0000000..e660ff8
--- /dev/null
+++ b/zh-CN/assets/js/e331eb86.9f2141ab.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2462],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>g});var a=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/e3ac53b1.08ea6850.js b/zh-CN/assets/js/e3ac53b1.08ea6850.js
new file mode 100644
index 0000000..5ec9bf9
--- /dev/null
+++ b/zh-CN/assets/js/e3ac53b1.08ea6850.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3480],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>d});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/ea60fead.c06427c9.js b/zh-CN/assets/js/ea60fead.c06427c9.js
new file mode 100644
index 0000000..a9e52cd
--- /dev/null
+++ b/zh-CN/assets/js/ea60fead.c06427c9.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5363],{2776:e=>{e.exports=JSON.parse('{"name":"@easyops-cn/docusaurus-search-local","id":"default"}')}}]);
\ No newline at end of file
diff --git a/zh-CN/assets/js/f2f8f1c2.1feb0c8f.js b/zh-CN/assets/js/f2f8f1c2.1feb0c8f.js
new file mode 100644
index 0000000..1de48a1
--- /dev/null
+++ b/zh-CN/assets/js/f2f8f1c2.1feb0c8f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4452],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>k});var a=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function p( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/f810106c.8cc708ab.js b/zh-CN/assets/js/f810106c.8cc708ab.js
new file mode 100644
index 0000000..4168a1c
--- /dev/null
+++ b/zh-CN/assets/js/f810106c.8cc708ab.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3976],{5745:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]);
\ No newline at end of file
diff --git a/zh-CN/assets/js/main.08520cad.js b/zh-CN/assets/js/main.08520cad.js
new file mode 100644
index 0000000..b9e0c25
--- /dev/null
+++ b/zh-CN/assets/js/main.08520cad.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.08520cad.js.LICENSE.txt */
+(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[179],{8726:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var  [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/main.08520cad.js.LICENSE.txt b/zh-CN/assets/js/main.08520cad.js.LICENSE.txt
new file mode 100644
index 0000000..2c82639
--- /dev/null
+++ b/zh-CN/assets/js/main.08520cad.js.LICENSE.txt
@@ -0,0 +1,125 @@
+/*
+object-assign
+(c) Sindre Sorhus
+@license MIT
+*/
+
+/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress
+ * @license MIT */
+
+/*!
+ * lunr.Builder
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/*!
+ * lunr.Index
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/*!
+ * lunr.Pipeline
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/*!
+ * lunr.Set
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/*!
+ * lunr.TokenSet
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/*!
+ * lunr.Vector
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/*!
+ * lunr.stemmer
+ * Copyright (C) 2020 Oliver Nightingale
+ * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
+ */
+
+/*!
+ * lunr.stopWordFilter
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/*!
+ * lunr.tokenizer
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/*!
+ * lunr.trimmer
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/*!
+ * lunr.utils
+ * Copyright (C) 2020 Oliver Nightingale
+ */
+
+/**
+ * @license React
+ * use-sync-external-store-shim.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/**
+ * Prism: Lightweight, robust, elegant syntax highlighting
+ *
+ * @license MIT <https://opensource.org/licenses/MIT>
+ * @author Lea Verou <https://lea.verou.me>
+ * @namespace
+ * @public
+ */
+
+/**
+ * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
+ * Copyright (C) 2020 Oliver Nightingale
+ * @license MIT
+ */
+
+/** @license React v0.20.2
+ * scheduler.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/** @license React v16.13.1
+ * react-is.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/** @license React v17.0.2
+ * react-dom.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/** @license React v17.0.2
+ * react.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
diff --git a/zh-CN/assets/js/runtime~main.5bbd3a25.js b/zh-CN/assets/js/runtime~main.5bbd3a25.js
new file mode 100644
index 0000000..d834c2e
--- /dev/null
+++ b/zh-CN/assets/js/runtime~main.5bbd3a25.js
@@ -0,0 +1 @@
+(()=>{"use strict";var e,a,t,r,c,f={},d={};function o(e){var a=d[e];if(void 0!==a)return a.exports;var t=d[e]={id:e,loaded:!1,exports:{}};return f[e].call(t.exports,t,t.exports,o),t.loaded=!0,t.exports}o.m=f,o.c=d,e=[],o.O=(a,t,r,c)=>{if(!t){var f=1/0;for(i=0;i<e.length;i++){t=e[i][0],r=e[i][1],c=e[i][2];for(var d=!0,b=0;b<t.length;b++)(!1&c||f>=c)&&Object.keys(o.O).every((e=>o.O[e](t[b])))?t.splice(b--,1):(d=!1,c<f&&(f=c));if(d){e.splice(i--,1);var n=r();void 0!==n&&(a=n)}}return a}c=c| [...]
\ No newline at end of file
diff --git a/zh-CN/blog/2023/01/09/2022 summary/index.html b/zh-CN/blog/2023/01/09/2022 summary/index.html
new file mode 100644
index 0000000..7c273d4
--- /dev/null
+++ b/zh-CN/blog/2023/01/09/2022 summary/index.html	
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">2022 summary | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/blog/2023/01/09/2022 summary"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsea [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era/index.html b/zh-CN/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era/index.html
new file mode 100644
index 0000000..edc4eb7
--- /dev/null
+++ b/zh-CN/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era/index.html	
@@ -0,0 +1,36 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Uniffle - New chapter for the shuffle in the cloud native era | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era"><meta data-rh="true" name="docusaurus_locale" content="zh- [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+将计算节点和 Shuffle 节点分离后,计算节点将Shuffle状态托管到Shuffle节点后,也同样让计算节点的状态更轻量化,在计算节点被抢占时可以减少作业的重算。</p><p>由于计算节点和 Shuffle 节点解耦,同时也降低了计算节点对磁盘规格的需求,可以增加可接入的计算节点数量。</p><p>对于大的 Shuffle 作业在云原生架构下会对本地磁盘磁盘造成比较大的压力,会造成计算节点磁盘容量不足等问题,同时也会产生比较多磁盘随机 IO,影响大 Shuffle 作业的性能和稳定性。</p><p>业界对新的 Shuffle 技术探索有包括 Google 的 BigQuery,百度 DCE Shuffle,Facebook 的 Cosco Shuffle,Uber Zeus Shuffle,阿里 Celeborn Shuffle 等诸多实践。
+各个系统有着自身对于各自场景不同的取舍。Uniffle 从性能,正确性,稳定性,成本四个方面的入手,想要打造快准稳省的云原生 Remote Shuffle Service。</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="架构设计">架构设计<a href="#架构设计" class="hash-link" aria-label="架构设计的直接链接" title="架构设计的直接链接">​</a></h2><p><img loading="lazy" alt="架构设计" src="/zh-CN/assets/images/architecture-7834d0c01ac53efa9d174f422dce53c7.png" width="2933" height="1363" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="coordinator">Coordinator<a href="#coordinator" [...]
+<!-- -->随机 IO 本质是由于比较多小数据块的 IO 存在,为了避免比较多小数据块 IO 的存在,Uniffle 首先会将多个 MapTask 的相同 Partition 在 Shuffle Server 中的内存进行聚合产生较大的 Partition 数据,当内存中 Shuffle 数据达到 Partition 阈值或者是整体阈值时,内存中 Shuffle 数据开始写入本地存储或者远程存储。
+<img loading="lazy" alt="io_sort" src="/zh-CN/assets/images/io_sort-e5f484b4875a3d5304749095a0f2a801.png" width="1280" height="578" class="img_ev3q"><br>
+<!-- -->当达到内存的整体阈值时,会按照内存中 Partition 数据大小进行排序,然后将大的 Partition 优先写入存储介质当中同时,内存中的数据下降到一定程度后会停止继续向存储介质写入 Shuffle 数据,进一步减少磁盘的随机 IO。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-存储介质选择优化">3) 存储介质选择优化<a href="#3-存储介质选择优化" class="hash-link" aria-label="3) 存储介质选择优化的直接链接" title="3) 存储介质选择优化的直接链接">​</a></h3><p><img loading="lazy" alt="select" src="/zh-CN/assets/images/select-d79bdaa68e6d184663ca0364a6f03f26.png" width="2933" height="2071" class="img_ev3q">
+对于 Shuffle 数据写入本地存储还是远程存储,Uniffle 根据测试发现数据块大小越大,远程存储的写入性能越好。当数据块超过 64MB 的时候,写入远程存储的性能可达 32MB/s。所以,在数据写入存储介质时,会选择根据数据块大小,将大的数据块写入远程存储。把小的数据块写入本地存储。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="4-写入并发度优化">4) 写入并发度优化<a href="#4-写入并发度优化" class="hash-link" aria-label="4) 写入并发度优化的直接链接" title="4) 写入并发度优化的直接链接">​</a></h3><p>对于大的 Partition 来说,单线程写入远程存储性能难以满足需求。HDFS 的文件只能由一个 Writer 写入,对于远端存储,Uniffle 将一个 Partition 可以映射多个文件。Uniffle 使用多线程方式可以增加大 partition 的写入性能。同时,单 Partition 占用全部远程存储线程数目影响
 其 [...]
+<!-- -->对于计算引擎来说,例如 Spark AQE ,存在单个 Task 读取某一个 Partition 部分数据以及多个 Partition 的情况。对于读取 Partition 部分数据情况,如果数据是随机分布的,会造成大量的读放大。如果在数据写入后进行数据排序重写,会造成较大的性能损耗。所以 Uniffle 采用局部有序的方案优化读取部分数据的数据优化。详细信息可查看参考 <!-- -->[3]<!-- -->。
+<img loading="lazy" alt="get_results" src="/zh-CN/assets/images/get_results-71ce542dca970bff80b6d444dbf4081c.png" width="1436" height="478" class="img_ev3q"><br>
+<!-- -->同样读取多个 Partition 时候,如果可以将需要读取多个 Partition 分配到一个 ShuffleServer 上,可以聚合 Rpc 请求,将多个 Rpc 请求发送到一个 Shuffle Server 当中。详细信息可查看参考 <!-- -->[4]<!-- -->。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="6-堆外内存优化">6) 堆外内存优化<a href="#6-堆外内存优化" class="hash-link" aria-label="6) 堆外内存优化的直接链接" title="6) 堆外内存优化的直接链接">​</a></h3><p>Uniffle 的数据通信过程中使用了 Grpc,Grpc 代码实现中存在比较多的内存拷贝过程。同时,Shuffle Server 目前使用堆内存进行管理。在线上使用 80G 内存的 Shuffle Server 会产生较多的 GC,单次最长约 22s。为此 Uniffle 将 JDK 升级到 11 以解决此问题。同时在数据传输面,模 [...]
+<img loading="lazy" alt="Gluten" src="/zh-CN/assets/images/gluten-cc81f323d5ee32b7e66bacb4c092cf03.png" width="1566" height="876" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="8-去-barrier-化">8) 去 Barrier 化<a href="#8-去-barrier-化" class="hash-link" aria-label="8) 去 Barrier 化的直接链接" title="8) 去 Barrier 化的直接链接">​</a></h3><p>分布式计算框架对于批量计算来说一般采用的 BSP (Bulk Synchronous Parallel)模型,上游 Task 全部运行完才会启动下游的 Task,但是为了可以减少长尾节点对作业对作业运行性能的影响,有得计算框架会支持 Slow Start 让上下游作业可以同时运行。流式计 [...]
+Spark 会将所有完成状态的 task 信息汇报给 Drvier,Reducer 第一步是先从 Driver 中获取 Task 唯一标识符列表, Block 是 Mapper 发送给 Shuffle Server 的数据,每一个 Block 都有唯一确定的 ID,Block 的数据会分别存储在内存,本地磁盘以及HDFS上。为了保证数据的安全性,Uniffle 设计了相应的元数据,Uniffle 对于本地磁盘和 HDFS 中的数据文件设计了索引文件。索引文件的格式由 BlockID,相对位移量,数据校验,压缩长度,未压缩长度以及 taskID,在读取 DataFile 之前 Uniffle 会先读取索引文件对于重复读取问题,Uniffle 会使用一个 bitmap 来保存已经读取的 BlockID,通过 BlockID 来判断是否存在重复读取。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="数据校验">数据校验<a href="#数据校验" class="hash-link" aria-label="数据校验 [...]
+对于数据损坏问题,Uniffle 会对数据块进行 CRC 校验,读取时会对数据重新进行计算 CRC,对比文件中的 CRC 文件判断数据是否损坏对于误读问题。</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="稳定性">稳定性<a href="#稳定性" class="hash-link" aria-label="稳定性的直接链接" title="稳定性的直接链接">​</a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="1-混合存储fallback">1) 混合存储Fallback<a href="#1-混合存储fallback" class="hash-link" aria-label="1) 混合存储Fallback的直接链接" title="1) 混合存储Fallback的直接链接">​</a></h3><p><img loading="lazy" alt="hdfs" src="/zh-CN/assets/images/hdfs_fallb [...]
+HDFS 线上集群存在一定的波动性,可能存在某个时间段会存在写 HDFS 数据失败的情况,为了减少 HDFS 波动产生的影响,Uniff 设计了 Fallback 机制,当写 HDFS 失败后,会将数据写入到本地存储,减少对作业的影响。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="2-限流机制">2) 限流机制<a href="#2-限流机制" class="hash-link" aria-label="2) 限流机制的直接链接" title="2) 限流机制的直接链接">​</a></h3><p>作业 Client 发送请求之前会先申请数据所对应的内存资源,如果内存不足,作业会进行等待,不再进行数据发送,从而实现了作业的流控。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-多副本机制">3) 多副本机制<a href="#3-多副本机制" class="hash-link" aria-label="3) 多副本机制的直接链接" title= [...]
+爱奇艺支持了对 Keberos HDFS 集群的访问,并且优化了 Spark AQE on Uniffle 的性能。滴滴支持了多租户作业 Quota。Netty 优化数据面由滴滴和唯品会共同完成。Gluten 的支持由百度和顺丰共同完成。</p><p>目前社区已经有 50+ contributor,600+ commits,发布了 4 个 Apache 版本,被数十家公司所使用。另外,想要贡献 Uniffle Flink 的团队和公司,可以发送邮件到 <a href="mailto:dev@uniffle.apache.org" target="_blank" rel="noopener noreferrer">dev@uniffle.apache.org</a> 与 Uniffle 社区联系。</p><p>目前社区参与的公司中还没有对 Uniffle Flink 有落地场景以及相应的开发计划,期待您可以帮忙一起填补社区的这块空白。Uniffle 设计采用了大量的机制和策略分离,也欢迎各个用户可以贡献适合自身场景的策略。</p><h2 class="anchor anc [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/blog/archive/index.html b/zh-CN/blog/archive/index.html
new file mode 100644
index 0000000..14673dc
--- /dev/null
+++ b/zh-CN/blog/archive/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="plugin-blog plugin-id-default">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">历史博文 | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/blog/archive"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="z [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/blog/atom.xml b/zh-CN/blog/atom.xml
new file mode 100644
index 0000000..74a8398
--- /dev/null
+++ b/zh-CN/blog/atom.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+    <id>https://uniffle.apache.org/zh-CN/blog</id>
+    <title>Apache Uniffle (Incubating) Blog</title>
+    <updated>2023-07-21T00:00:00.000Z</updated>
+    <generator>https://github.com/jpmonette/feed</generator>
+    <link rel="alternate" href="https://uniffle.apache.org/zh-CN/blog"/>
+    <subtitle>Apache Uniffle (Incubating) Blog</subtitle>
+    <icon>https://uniffle.apache.org/zh-CN/img/favicon.ico</icon>
+    <entry>
+        <title type="html"><![CDATA[Uniffle - New chapter for the shuffle in the cloud native era]]></title>
+        <id>https://uniffle.apache.org/zh-CN/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era</id>
+        <link href="https://uniffle.apache.org/zh-CN/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era"/>
+        <updated>2023-07-21T00:00:00.000Z</updated>
+        <summary type="html"><![CDATA[<!--]]></summary>
+        <content type="html"><![CDATA[<h2 class="anchor anchorWithStickyNavbar_LWe7" id="项目背景">项目背景<a href="#项目背景" class="hash-link" aria-label="项目背景的直接链接" title="项目背景的直接链接">​</a></h2><p>Shuffle 是分布式计算框架用来衔接上下游任务数据重分布的过程,是计算框架中最为重要的一个环节,Shuffle 的性能和稳定性会对计算框架产生直接的影响。然而随着对云原生架构探索,传统的 Shuffle 方案也暴露了诸多问题。</p><p>在云原生架构中,也会同时应用存算分离以及混部等技术。计算节点磁盘相对容量较小,IO 性能较差,CPU 和 IO 资源相对不平衡。计算节点也可能因为混部的原因,被高优先级的作业所抢占。</p><p>传统的 Shuffl 方案,Shuffle 节点与计算节点耦合在一起,但是由于计算节点与 Shuffle 节点对于磁盘资源,内存资源,CPU资源,节点稳定性的需求�
 ��同,难 [...]
+将计算节点和 Shuffle 节点分离后,计算节点将Shuffle状态托管到Shuffle节点后,也同样让计算节点的状态更轻量化,在计算节点被抢占时可以减少作业的重算。</p><p>由于计算节点和 Shuffle 节点解耦,同时也降低了计算节点对磁盘规格的需求,可以增加可接入的计算节点数量。</p><p>对于大的 Shuffle 作业在云原生架构下会对本地磁盘磁盘造成比较大的压力,会造成计算节点磁盘容量不足等问题,同时也会产生比较多磁盘随机 IO,影响大 Shuffle 作业的性能和稳定性。</p><p>业界对新的 Shuffle 技术探索有包括 Google 的 BigQuery,百度 DCE Shuffle,Facebook 的 Cosco Shuffle,Uber Zeus Shuffle,阿里 Celeborn Shuffle 等诸多实践。
+各个系统有着自身对于各自场景不同的取舍。Uniffle 从性能,正确性,稳定性,成本四个方面的入手,想要打造快准稳省的云原生 Remote Shuffle Service。</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="架构设计">架构设计<a href="#架构设计" class="hash-link" aria-label="架构设计的直接链接" title="架构设计的直接链接">​</a></h2><p><img loading="lazy" alt="架构设计" src="/zh-CN/assets/images/architecture-7834d0c01ac53efa9d174f422dce53c7.png" width="2933" height="1363" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="coordinator">Coordinator<a href="#coordinator" [...]
+<!-- -->随机 IO 本质是由于比较多小数据块的 IO 存在,为了避免比较多小数据块 IO 的存在,Uniffle 首先会将多个 MapTask 的相同 Partition 在 Shuffle Server 中的内存进行聚合产生较大的 Partition 数据,当内存中 Shuffle 数据达到 Partition 阈值或者是整体阈值时,内存中 Shuffle 数据开始写入本地存储或者远程存储。
+<img loading="lazy" alt="io_sort" src="/zh-CN/assets/images/io_sort-e5f484b4875a3d5304749095a0f2a801.png" width="1280" height="578" class="img_ev3q"><br>
+<!-- -->当达到内存的整体阈值时,会按照内存中 Partition 数据大小进行排序,然后将大的 Partition 优先写入存储介质当中同时,内存中的数据下降到一定程度后会停止继续向存储介质写入 Shuffle 数据,进一步减少磁盘的随机 IO。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-存储介质选择优化">3) 存储介质选择优化<a href="#3-存储介质选择优化" class="hash-link" aria-label="3) 存储介质选择优化的直接链接" title="3) 存储介质选择优化的直接链接">​</a></h3><p><img loading="lazy" alt="select" src="/zh-CN/assets/images/select-d79bdaa68e6d184663ca0364a6f03f26.png" width="2933" height="2071" class="img_ev3q">
+对于 Shuffle 数据写入本地存储还是远程存储,Uniffle 根据测试发现数据块大小越大,远程存储的写入性能越好。当数据块超过 64MB 的时候,写入远程存储的性能可达 32MB/s。所以,在数据写入存储介质时,会选择根据数据块大小,将大的数据块写入远程存储。把小的数据块写入本地存储。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="4-写入并发度优化">4) 写入并发度优化<a href="#4-写入并发度优化" class="hash-link" aria-label="4) 写入并发度优化的直接链接" title="4) 写入并发度优化的直接链接">​</a></h3><p>对于大的 Partition 来说,单线程写入远程存储性能难以满足需求。HDFS 的文件只能由一个 Writer 写入,对于远端存储,Uniffle 将一个 Partition 可以映射多个文件。Uniffle 使用多线程方式可以增加大 partition 的写入性能。同时,单 Partition 占用全部远程存储线程数目影响
 其 [...]
+<!-- -->对于计算引擎来说,例如 Spark AQE ,存在单个 Task 读取某一个 Partition 部分数据以及多个 Partition 的情况。对于读取 Partition 部分数据情况,如果数据是随机分布的,会造成大量的读放大。如果在数据写入后进行数据排序重写,会造成较大的性能损耗。所以 Uniffle 采用局部有序的方案优化读取部分数据的数据优化。详细信息可查看参考 <!-- -->[3]<!-- -->。
+<img loading="lazy" alt="get_results" src="/zh-CN/assets/images/get_results-71ce542dca970bff80b6d444dbf4081c.png" width="1436" height="478" class="img_ev3q"><br>
+<!-- -->同样读取多个 Partition 时候,如果可以将需要读取多个 Partition 分配到一个 ShuffleServer 上,可以聚合 Rpc 请求,将多个 Rpc 请求发送到一个 Shuffle Server 当中。详细信息可查看参考 <!-- -->[4]<!-- -->。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="6-堆外内存优化">6) 堆外内存优化<a href="#6-堆外内存优化" class="hash-link" aria-label="6) 堆外内存优化的直接链接" title="6) 堆外内存优化的直接链接">​</a></h3><p>Uniffle 的数据通信过程中使用了 Grpc,Grpc 代码实现中存在比较多的内存拷贝过程。同时,Shuffle Server 目前使用堆内存进行管理。在线上使用 80G 内存的 Shuffle Server 会产生较多的 GC,单次最长约 22s。为此 Uniffle 将 JDK 升级到 11 以解决此问题。同时在数据传输面,模 [...]
+<img loading="lazy" alt="Gluten" src="/zh-CN/assets/images/gluten-cc81f323d5ee32b7e66bacb4c092cf03.png" width="1566" height="876" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="8-去-barrier-化">8) 去 Barrier 化<a href="#8-去-barrier-化" class="hash-link" aria-label="8) 去 Barrier 化的直接链接" title="8) 去 Barrier 化的直接链接">​</a></h3><p>分布式计算框架对于批量计算来说一般采用的 BSP (Bulk Synchronous Parallel)模型,上游 Task 全部运行完才会启动下游的 Task,但是为了可以减少长尾节点对作业对作业运行性能的影响,有得计算框架会支持 Slow Start 让上下游作业可以同时运行。流式计 [...]
+Spark 会将所有完成状态的 task 信息汇报给 Drvier,Reducer 第一步是先从 Driver 中获取 Task 唯一标识符列表, Block 是 Mapper 发送给 Shuffle Server 的数据,每一个 Block 都有唯一确定的 ID,Block 的数据会分别存储在内存,本地磁盘以及HDFS上。为了保证数据的安全性,Uniffle 设计了相应的元数据,Uniffle 对于本地磁盘和 HDFS 中的数据文件设计了索引文件。索引文件的格式由 BlockID,相对位移量,数据校验,压缩长度,未压缩长度以及 taskID,在读取 DataFile 之前 Uniffle 会先读取索引文件对于重复读取问题,Uniffle 会使用一个 bitmap 来保存已经读取的 BlockID,通过 BlockID 来判断是否存在重复读取。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="数据校验">数据校验<a href="#数据校验" class="hash-link" aria-label="数据校验 [...]
+对于数据损坏问题,Uniffle 会对数据块进行 CRC 校验,读取时会对数据重新进行计算 CRC,对比文件中的 CRC 文件判断数据是否损坏对于误读问题。</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="稳定性">稳定性<a href="#稳定性" class="hash-link" aria-label="稳定性的直接链接" title="稳定性的直接链接">​</a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="1-混合存储fallback">1) 混合存储Fallback<a href="#1-混合存储fallback" class="hash-link" aria-label="1) 混合存储Fallback的直接链接" title="1) 混合存储Fallback的直接链接">​</a></h3><p><img loading="lazy" alt="hdfs" src="/zh-CN/assets/images/hdfs_fallb [...]
+HDFS 线上集群存在一定的波动性,可能存在某个时间段会存在写 HDFS 数据失败的情况,为了减少 HDFS 波动产生的影响,Uniff 设计了 Fallback 机制,当写 HDFS 失败后,会将数据写入到本地存储,减少对作业的影响。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="2-限流机制">2) 限流机制<a href="#2-限流机制" class="hash-link" aria-label="2) 限流机制的直接链接" title="2) 限流机制的直接链接">​</a></h3><p>作业 Client 发送请求之前会先申请数据所对应的内存资源,如果内存不足,作业会进行等待,不再进行数据发送,从而实现了作业的流控。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-多副本机制">3) 多副本机制<a href="#3-多副本机制" class="hash-link" aria-label="3) 多副本机制的直接链接" title= [...]
+爱奇艺支持了对 Keberos HDFS 集群的访问,并且优化了 Spark AQE on Uniffle 的性能。滴滴支持了多租户作业 Quota。Netty 优化数据面由滴滴和唯品会共同完成。Gluten 的支持由百度和顺丰共同完成。</p><p>目前社区已经有 50+ contributor,600+ commits,发布了 4 个 Apache 版本,被数十家公司所使用。另外,想要贡献 Uniffle Flink 的团队和公司,可以发送邮件到 <a href="mailto:dev@uniffle.apache.org" target="_blank" rel="noopener noreferrer">dev@uniffle.apache.org</a> 与 Uniffle 社区联系。</p><p>目前社区参与的公司中还没有对 Uniffle Flink 有落地场景以及相应的开发计划,期待您可以帮忙一起填补社区的这块空白。Uniffle 设计采用了大量的机制和策略分离,也欢迎各个用户可以贡献适合自身场景的策略。</p><h2 class="anchor anc [...]
+    </entry>
+    <entry>
+        <title type="html"><![CDATA[2022 summary]]></title>
+        <id>https://uniffle.apache.org/zh-CN/blog/2023/01/09/2022 summary</id>
+        <link href="https://uniffle.apache.org/zh-CN/blog/2023/01/09/2022 summary"/>
+        <updated>2023-01-09T00:00:00.000Z</updated>
+        <summary type="html"><![CDATA[<!--]]></summary>
+        <content type="html"><![CDATA[<h1>Apache Uniffle (incubating) - 2022 年终总结</h1><h2 class="anchor anchorWithStickyNavbar_LWe7" id="引言">引言<a href="#引言" class="hash-link" aria-label="引言的直接链接" title="引言的直接链接">​</a></h2><p>2020 年底,Apache Uniffle (incubating) 在腾讯内部写下了他的第一行代码,21 年 11 月份对外开源,22 年中被捐献给了 Apache 基金会。自被捐献给了 Apache 基金会后,它吸引了较多来自各个公司的开发者。本文瑾对 Apache Uniffle (incubating) 2022 做个简单的小结。</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="时间线">时间线<a href="#时间线" class="hash-link"  [...]
+    </entry>
+</feed>
\ No newline at end of file
diff --git a/zh-CN/blog/index.html b/zh-CN/blog/index.html
new file mode 100644
index 0000000..c922669
--- /dev/null
+++ b/zh-CN/blog/index.html
@@ -0,0 +1,36 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="blog-wrapper blog-list-page plugin-blog plugin-id-default">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Blog | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/blog"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" property="og:title" content="Blog | Apache [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+将计算节点和 Shuffle 节点分离后,计算节点将Shuffle状态托管到Shuffle节点后,也同样让计算节点的状态更轻量化,在计算节点被抢占时可以减少作业的重算。</p><p>由于计算节点和 Shuffle 节点解耦,同时也降低了计算节点对磁盘规格的需求,可以增加可接入的计算节点数量。</p><p>对于大的 Shuffle 作业在云原生架构下会对本地磁盘磁盘造成比较大的压力,会造成计算节点磁盘容量不足等问题,同时也会产生比较多磁盘随机 IO,影响大 Shuffle 作业的性能和稳定性。</p><p>业界对新的 Shuffle 技术探索有包括 Google 的 BigQuery,百度 DCE Shuffle,Facebook 的 Cosco Shuffle,Uber Zeus Shuffle,阿里 Celeborn Shuffle 等诸多实践。
+各个系统有着自身对于各自场景不同的取舍。Uniffle 从性能,正确性,稳定性,成本四个方面的入手,想要打造快准稳省的云原生 Remote Shuffle Service。</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="架构设计">架构设计<a href="#架构设计" class="hash-link" aria-label="架构设计的直接链接" title="架构设计的直接链接">​</a></h2><p><img loading="lazy" alt="架构设计" src="/zh-CN/assets/images/architecture-7834d0c01ac53efa9d174f422dce53c7.png" width="2933" height="1363" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="coordinator">Coordinator<a href="#coordinator" [...]
+<!-- -->随机 IO 本质是由于比较多小数据块的 IO 存在,为了避免比较多小数据块 IO 的存在,Uniffle 首先会将多个 MapTask 的相同 Partition 在 Shuffle Server 中的内存进行聚合产生较大的 Partition 数据,当内存中 Shuffle 数据达到 Partition 阈值或者是整体阈值时,内存中 Shuffle 数据开始写入本地存储或者远程存储。
+<img loading="lazy" alt="io_sort" src="/zh-CN/assets/images/io_sort-e5f484b4875a3d5304749095a0f2a801.png" width="1280" height="578" class="img_ev3q"><br>
+<!-- -->当达到内存的整体阈值时,会按照内存中 Partition 数据大小进行排序,然后将大的 Partition 优先写入存储介质当中同时,内存中的数据下降到一定程度后会停止继续向存储介质写入 Shuffle 数据,进一步减少磁盘的随机 IO。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-存储介质选择优化">3) 存储介质选择优化<a href="#3-存储介质选择优化" class="hash-link" aria-label="3) 存储介质选择优化的直接链接" title="3) 存储介质选择优化的直接链接">​</a></h3><p><img loading="lazy" alt="select" src="/zh-CN/assets/images/select-d79bdaa68e6d184663ca0364a6f03f26.png" width="2933" height="2071" class="img_ev3q">
+对于 Shuffle 数据写入本地存储还是远程存储,Uniffle 根据测试发现数据块大小越大,远程存储的写入性能越好。当数据块超过 64MB 的时候,写入远程存储的性能可达 32MB/s。所以,在数据写入存储介质时,会选择根据数据块大小,将大的数据块写入远程存储。把小的数据块写入本地存储。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="4-写入并发度优化">4) 写入并发度优化<a href="#4-写入并发度优化" class="hash-link" aria-label="4) 写入并发度优化的直接链接" title="4) 写入并发度优化的直接链接">​</a></h3><p>对于大的 Partition 来说,单线程写入远程存储性能难以满足需求。HDFS 的文件只能由一个 Writer 写入,对于远端存储,Uniffle 将一个 Partition 可以映射多个文件。Uniffle 使用多线程方式可以增加大 partition 的写入性能。同时,单 Partition 占用全部远程存储线程数目影响
 其 [...]
+<!-- -->对于计算引擎来说,例如 Spark AQE ,存在单个 Task 读取某一个 Partition 部分数据以及多个 Partition 的情况。对于读取 Partition 部分数据情况,如果数据是随机分布的,会造成大量的读放大。如果在数据写入后进行数据排序重写,会造成较大的性能损耗。所以 Uniffle 采用局部有序的方案优化读取部分数据的数据优化。详细信息可查看参考 <!-- -->[3]<!-- -->。
+<img loading="lazy" alt="get_results" src="/zh-CN/assets/images/get_results-71ce542dca970bff80b6d444dbf4081c.png" width="1436" height="478" class="img_ev3q"><br>
+<!-- -->同样读取多个 Partition 时候,如果可以将需要读取多个 Partition 分配到一个 ShuffleServer 上,可以聚合 Rpc 请求,将多个 Rpc 请求发送到一个 Shuffle Server 当中。详细信息可查看参考 <!-- -->[4]<!-- -->。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="6-堆外内存优化">6) 堆外内存优化<a href="#6-堆外内存优化" class="hash-link" aria-label="6) 堆外内存优化的直接链接" title="6) 堆外内存优化的直接链接">​</a></h3><p>Uniffle 的数据通信过程中使用了 Grpc,Grpc 代码实现中存在比较多的内存拷贝过程。同时,Shuffle Server 目前使用堆内存进行管理。在线上使用 80G 内存的 Shuffle Server 会产生较多的 GC,单次最长约 22s。为此 Uniffle 将 JDK 升级到 11 以解决此问题。同时在数据传输面,模 [...]
+<img loading="lazy" alt="Gluten" src="/zh-CN/assets/images/gluten-cc81f323d5ee32b7e66bacb4c092cf03.png" width="1566" height="876" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="8-去-barrier-化">8) 去 Barrier 化<a href="#8-去-barrier-化" class="hash-link" aria-label="8) 去 Barrier 化的直接链接" title="8) 去 Barrier 化的直接链接">​</a></h3><p>分布式计算框架对于批量计算来说一般采用的 BSP (Bulk Synchronous Parallel)模型,上游 Task 全部运行完才会启动下游的 Task,但是为了可以减少长尾节点对作业对作业运行性能的影响,有得计算框架会支持 Slow Start 让上下游作业可以同时运行。流式计 [...]
+Spark 会将所有完成状态的 task 信息汇报给 Drvier,Reducer 第一步是先从 Driver 中获取 Task 唯一标识符列表, Block 是 Mapper 发送给 Shuffle Server 的数据,每一个 Block 都有唯一确定的 ID,Block 的数据会分别存储在内存,本地磁盘以及HDFS上。为了保证数据的安全性,Uniffle 设计了相应的元数据,Uniffle 对于本地磁盘和 HDFS 中的数据文件设计了索引文件。索引文件的格式由 BlockID,相对位移量,数据校验,压缩长度,未压缩长度以及 taskID,在读取 DataFile 之前 Uniffle 会先读取索引文件对于重复读取问题,Uniffle 会使用一个 bitmap 来保存已经读取的 BlockID,通过 BlockID 来判断是否存在重复读取。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="数据校验">数据校验<a href="#数据校验" class="hash-link" aria-label="数据校验 [...]
+对于数据损坏问题,Uniffle 会对数据块进行 CRC 校验,读取时会对数据重新进行计算 CRC,对比文件中的 CRC 文件判断数据是否损坏对于误读问题。</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="稳定性">稳定性<a href="#稳定性" class="hash-link" aria-label="稳定性的直接链接" title="稳定性的直接链接">​</a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="1-混合存储fallback">1) 混合存储Fallback<a href="#1-混合存储fallback" class="hash-link" aria-label="1) 混合存储Fallback的直接链接" title="1) 混合存储Fallback的直接链接">​</a></h3><p><img loading="lazy" alt="hdfs" src="/zh-CN/assets/images/hdfs_fallb [...]
+HDFS 线上集群存在一定的波动性,可能存在某个时间段会存在写 HDFS 数据失败的情况,为了减少 HDFS 波动产生的影响,Uniff 设计了 Fallback 机制,当写 HDFS 失败后,会将数据写入到本地存储,减少对作业的影响。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="2-限流机制">2) 限流机制<a href="#2-限流机制" class="hash-link" aria-label="2) 限流机制的直接链接" title="2) 限流机制的直接链接">​</a></h3><p>作业 Client 发送请求之前会先申请数据所对应的内存资源,如果内存不足,作业会进行等待,不再进行数据发送,从而实现了作业的流控。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-多副本机制">3) 多副本机制<a href="#3-多副本机制" class="hash-link" aria-label="3) 多副本机制的直接链接" title= [...]
+爱奇艺支持了对 Keberos HDFS 集群的访问,并且优化了 Spark AQE on Uniffle 的性能。滴滴支持了多租户作业 Quota。Netty 优化数据面由滴滴和唯品会共同完成。Gluten 的支持由百度和顺丰共同完成。</p><p>目前社区已经有 50+ contributor,600+ commits,发布了 4 个 Apache 版本,被数十家公司所使用。另外,想要贡献 Uniffle Flink 的团队和公司,可以发送邮件到 <a href="mailto:dev@uniffle.apache.org" target="_blank" rel="noopener noreferrer">dev@uniffle.apache.org</a> 与 Uniffle 社区联系。</p><p>目前社区参与的公司中还没有对 Uniffle Flink 有落地场景以及相应的开发计划,期待您可以帮忙一起填补社区的这块空白。Uniffle 设计采用了大量的机制和策略分离,也欢迎各个用户可以贡献适合自身场景的策略。</p><h2 class="anchor anc [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/blog/rss.xml b/zh-CN/blog/rss.xml
new file mode 100644
index 0000000..e387db6
--- /dev/null
+++ b/zh-CN/blog/rss.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
+    <channel>
+        <title>Apache Uniffle (Incubating) Blog</title>
+        <link>https://uniffle.apache.org/zh-CN/blog</link>
+        <description>Apache Uniffle (Incubating) Blog</description>
+        <lastBuildDate>Fri, 21 Jul 2023 00:00:00 GMT</lastBuildDate>
+        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
+        <generator>https://github.com/jpmonette/feed</generator>
+        <language>zh-CN</language>
+        <item>
+            <title><![CDATA[Uniffle - New chapter for the shuffle in the cloud native era]]></title>
+            <link>https://uniffle.apache.org/zh-CN/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era</link>
+            <guid>https://uniffle.apache.org/zh-CN/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era</guid>
+            <pubDate>Fri, 21 Jul 2023 00:00:00 GMT</pubDate>
+            <description><![CDATA[<!--]]></description>
+            <content:encoded><![CDATA[<h2 class="anchor anchorWithStickyNavbar_LWe7" id="项目背景">项目背景<a href="#项目背景" class="hash-link" aria-label="项目背景的直接链接" title="项目背景的直接链接">​</a></h2><p>Shuffle 是分布式计算框架用来衔接上下游任务数据重分布的过程,是计算框架中最为重要的一个环节,Shuffle 的性能和稳定性会对计算框架产生直接的影响。然而随着对云原生架构探索,传统的 Shuffle 方案也暴露了诸多问题。</p><p>在云原生架构中,也会同时应用存算分离以及混部等技术。计算节点磁盘相对容量较小,IO 性能较差,CPU 和 IO 资源相对不平衡。计算节点也可能因为混部的原因,被高优先级的作业所抢占。</p><p>传统的 Shuffl 方案,Shuffle 节点与计算节点耦合在一起,但是由于计算节点与 Shuffle 节点对于磁盘资源,内存资源,CPU资源,节点稳定性的需求�
 ��同,难 [...]
+将计算节点和 Shuffle 节点分离后,计算节点将Shuffle状态托管到Shuffle节点后,也同样让计算节点的状态更轻量化,在计算节点被抢占时可以减少作业的重算。</p><p>由于计算节点和 Shuffle 节点解耦,同时也降低了计算节点对磁盘规格的需求,可以增加可接入的计算节点数量。</p><p>对于大的 Shuffle 作业在云原生架构下会对本地磁盘磁盘造成比较大的压力,会造成计算节点磁盘容量不足等问题,同时也会产生比较多磁盘随机 IO,影响大 Shuffle 作业的性能和稳定性。</p><p>业界对新的 Shuffle 技术探索有包括 Google 的 BigQuery,百度 DCE Shuffle,Facebook 的 Cosco Shuffle,Uber Zeus Shuffle,阿里 Celeborn Shuffle 等诸多实践。
+各个系统有着自身对于各自场景不同的取舍。Uniffle 从性能,正确性,稳定性,成本四个方面的入手,想要打造快准稳省的云原生 Remote Shuffle Service。</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="架构设计">架构设计<a href="#架构设计" class="hash-link" aria-label="架构设计的直接链接" title="架构设计的直接链接">​</a></h2><p><img loading="lazy" alt="架构设计" src="/zh-CN/assets/images/architecture-7834d0c01ac53efa9d174f422dce53c7.png" width="2933" height="1363" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="coordinator">Coordinator<a href="#coordinator" [...]
+<!-- -->随机 IO 本质是由于比较多小数据块的 IO 存在,为了避免比较多小数据块 IO 的存在,Uniffle 首先会将多个 MapTask 的相同 Partition 在 Shuffle Server 中的内存进行聚合产生较大的 Partition 数据,当内存中 Shuffle 数据达到 Partition 阈值或者是整体阈值时,内存中 Shuffle 数据开始写入本地存储或者远程存储。
+<img loading="lazy" alt="io_sort" src="/zh-CN/assets/images/io_sort-e5f484b4875a3d5304749095a0f2a801.png" width="1280" height="578" class="img_ev3q"><br>
+<!-- -->当达到内存的整体阈值时,会按照内存中 Partition 数据大小进行排序,然后将大的 Partition 优先写入存储介质当中同时,内存中的数据下降到一定程度后会停止继续向存储介质写入 Shuffle 数据,进一步减少磁盘的随机 IO。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-存储介质选择优化">3) 存储介质选择优化<a href="#3-存储介质选择优化" class="hash-link" aria-label="3) 存储介质选择优化的直接链接" title="3) 存储介质选择优化的直接链接">​</a></h3><p><img loading="lazy" alt="select" src="/zh-CN/assets/images/select-d79bdaa68e6d184663ca0364a6f03f26.png" width="2933" height="2071" class="img_ev3q">
+对于 Shuffle 数据写入本地存储还是远程存储,Uniffle 根据测试发现数据块大小越大,远程存储的写入性能越好。当数据块超过 64MB 的时候,写入远程存储的性能可达 32MB/s。所以,在数据写入存储介质时,会选择根据数据块大小,将大的数据块写入远程存储。把小的数据块写入本地存储。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="4-写入并发度优化">4) 写入并发度优化<a href="#4-写入并发度优化" class="hash-link" aria-label="4) 写入并发度优化的直接链接" title="4) 写入并发度优化的直接链接">​</a></h3><p>对于大的 Partition 来说,单线程写入远程存储性能难以满足需求。HDFS 的文件只能由一个 Writer 写入,对于远端存储,Uniffle 将一个 Partition 可以映射多个文件。Uniffle 使用多线程方式可以增加大 partition 的写入性能。同时,单 Partition 占用全部远程存储线程数目影响
 其 [...]
+<!-- -->对于计算引擎来说,例如 Spark AQE ,存在单个 Task 读取某一个 Partition 部分数据以及多个 Partition 的情况。对于读取 Partition 部分数据情况,如果数据是随机分布的,会造成大量的读放大。如果在数据写入后进行数据排序重写,会造成较大的性能损耗。所以 Uniffle 采用局部有序的方案优化读取部分数据的数据优化。详细信息可查看参考 <!-- -->[3]<!-- -->。
+<img loading="lazy" alt="get_results" src="/zh-CN/assets/images/get_results-71ce542dca970bff80b6d444dbf4081c.png" width="1436" height="478" class="img_ev3q"><br>
+<!-- -->同样读取多个 Partition 时候,如果可以将需要读取多个 Partition 分配到一个 ShuffleServer 上,可以聚合 Rpc 请求,将多个 Rpc 请求发送到一个 Shuffle Server 当中。详细信息可查看参考 <!-- -->[4]<!-- -->。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="6-堆外内存优化">6) 堆外内存优化<a href="#6-堆外内存优化" class="hash-link" aria-label="6) 堆外内存优化的直接链接" title="6) 堆外内存优化的直接链接">​</a></h3><p>Uniffle 的数据通信过程中使用了 Grpc,Grpc 代码实现中存在比较多的内存拷贝过程。同时,Shuffle Server 目前使用堆内存进行管理。在线上使用 80G 内存的 Shuffle Server 会产生较多的 GC,单次最长约 22s。为此 Uniffle 将 JDK 升级到 11 以解决此问题。同时在数据传输面,模 [...]
+<img loading="lazy" alt="Gluten" src="/zh-CN/assets/images/gluten-cc81f323d5ee32b7e66bacb4c092cf03.png" width="1566" height="876" class="img_ev3q"></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="8-去-barrier-化">8) 去 Barrier 化<a href="#8-去-barrier-化" class="hash-link" aria-label="8) 去 Barrier 化的直接链接" title="8) 去 Barrier 化的直接链接">​</a></h3><p>分布式计算框架对于批量计算来说一般采用的 BSP (Bulk Synchronous Parallel)模型,上游 Task 全部运行完才会启动下游的 Task,但是为了可以减少长尾节点对作业对作业运行性能的影响,有得计算框架会支持 Slow Start 让上下游作业可以同时运行。流式计 [...]
+Spark 会将所有完成状态的 task 信息汇报给 Drvier,Reducer 第一步是先从 Driver 中获取 Task 唯一标识符列表, Block 是 Mapper 发送给 Shuffle Server 的数据,每一个 Block 都有唯一确定的 ID,Block 的数据会分别存储在内存,本地磁盘以及HDFS上。为了保证数据的安全性,Uniffle 设计了相应的元数据,Uniffle 对于本地磁盘和 HDFS 中的数据文件设计了索引文件。索引文件的格式由 BlockID,相对位移量,数据校验,压缩长度,未压缩长度以及 taskID,在读取 DataFile 之前 Uniffle 会先读取索引文件对于重复读取问题,Uniffle 会使用一个 bitmap 来保存已经读取的 BlockID,通过 BlockID 来判断是否存在重复读取。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="数据校验">数据校验<a href="#数据校验" class="hash-link" aria-label="数据校验 [...]
+对于数据损坏问题,Uniffle 会对数据块进行 CRC 校验,读取时会对数据重新进行计算 CRC,对比文件中的 CRC 文件判断数据是否损坏对于误读问题。</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="稳定性">稳定性<a href="#稳定性" class="hash-link" aria-label="稳定性的直接链接" title="稳定性的直接链接">​</a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="1-混合存储fallback">1) 混合存储Fallback<a href="#1-混合存储fallback" class="hash-link" aria-label="1) 混合存储Fallback的直接链接" title="1) 混合存储Fallback的直接链接">​</a></h3><p><img loading="lazy" alt="hdfs" src="/zh-CN/assets/images/hdfs_fallb [...]
+HDFS 线上集群存在一定的波动性,可能存在某个时间段会存在写 HDFS 数据失败的情况,为了减少 HDFS 波动产生的影响,Uniff 设计了 Fallback 机制,当写 HDFS 失败后,会将数据写入到本地存储,减少对作业的影响。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="2-限流机制">2) 限流机制<a href="#2-限流机制" class="hash-link" aria-label="2) 限流机制的直接链接" title="2) 限流机制的直接链接">​</a></h3><p>作业 Client 发送请求之前会先申请数据所对应的内存资源,如果内存不足,作业会进行等待,不再进行数据发送,从而实现了作业的流控。</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="3-多副本机制">3) 多副本机制<a href="#3-多副本机制" class="hash-link" aria-label="3) 多副本机制的直接链接" title= [...]
+爱奇艺支持了对 Keberos HDFS 集群的访问,并且优化了 Spark AQE on Uniffle 的性能。滴滴支持了多租户作业 Quota。Netty 优化数据面由滴滴和唯品会共同完成。Gluten 的支持由百度和顺丰共同完成。</p><p>目前社区已经有 50+ contributor,600+ commits,发布了 4 个 Apache 版本,被数十家公司所使用。另外,想要贡献 Uniffle Flink 的团队和公司,可以发送邮件到 <a href="mailto:dev@uniffle.apache.org" target="_blank" rel="noopener noreferrer">dev@uniffle.apache.org</a> 与 Uniffle 社区联系。</p><p>目前社区参与的公司中还没有对 Uniffle Flink 有落地场景以及相应的开发计划,期待您可以帮忙一起填补社区的这块空白。Uniffle 设计采用了大量的机制和策略分离,也欢迎各个用户可以贡献适合自身场景的策略。</p><h2 class="anchor anc [...]
+        </item>
+        <item>
+            <title><![CDATA[2022 summary]]></title>
+            <link>https://uniffle.apache.org/zh-CN/blog/2023/01/09/2022 summary</link>
+            <guid>https://uniffle.apache.org/zh-CN/blog/2023/01/09/2022 summary</guid>
+            <pubDate>Mon, 09 Jan 2023 00:00:00 GMT</pubDate>
+            <description><![CDATA[<!--]]></description>
+            <content:encoded><![CDATA[<h1>Apache Uniffle (incubating) - 2022 年终总结</h1><h2 class="anchor anchorWithStickyNavbar_LWe7" id="引言">引言<a href="#引言" class="hash-link" aria-label="引言的直接链接" title="引言的直接链接">​</a></h2><p>2020 年底,Apache Uniffle (incubating) 在腾讯内部写下了他的第一行代码,21 年 11 月份对外开源,22 年中被捐献给了 Apache 基金会。自被捐献给了 Apache 基金会后,它吸引了较多来自各个公司的开发者。本文瑾对 Apache Uniffle (incubating) 2022 做个简单的小结。</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="时间线">时间线<a href="#时间线" class="hash-link"  [...]
+        </item>
+    </channel>
+</rss>
\ No newline at end of file
diff --git a/zh-CN/community/how to contribute/index.html b/zh-CN/community/how to contribute/index.html
new file mode 100644
index 0000000..c514155
--- /dev/null
+++ b/zh-CN/community/how to contribute/index.html	
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-community docs-doc-id-how to contribute">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">how to contribute | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/community/how to contribute"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" name=" [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/community/how to release/index.html b/zh-CN/community/how to release/index.html
new file mode 100644
index 0000000..d27ae87
--- /dev/null
+++ b/zh-CN/community/how to release/index.html	
@@ -0,0 +1,26 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-community docs-doc-id-how to release">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">how to release | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/community/how to release"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" name="docusa [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+Note: The commands of GnuPG 1.x version and 2.x version are slightly different. The following description takes 2.2.28 as an example
+After installation, the gpg command is added to the system environment variables and is available</p><div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">#Check the version, it should be 2.x</spa [...]
+Refer: <a href="https://central.sonatype.org/publish/release/#locate-and-examine-your-staging-repository" target="_blank" rel="noopener noreferrer">https://central.sonatype.org/publish/release/#locate-and-examine-your-staging-repository</a></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="3-verify-release-candidates">3 Verify Release Candidates<a href="#3-verify-release-candidates" class="hash-link" aria-label="3 Verify Release Candidates的直接链接" title="3 Verify Release Candidates的直接链 [...]
+For more information, please refer to the official <a href="https://infra.apache.org/contrib-email-tips" target="_blank" rel="noopener noreferrer">Email Specification</a> <a href="https://infra.apache.org/contrib-email-tips" target="_blank" rel="noopener noreferrer">https://infra.apache.org/contrib-email-tips</a></p><p><strong> Gmail mailbox switch to plain text format </strong></p><p><img loading="lazy" src="https://user-images.githubusercontent.com/7869972/152912490-a5038505-e487-4451- [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/community/project committers/index.html b/zh-CN/community/project committers/index.html
new file mode 100644
index 0000000..63694f7
--- /dev/null
+++ b/zh-CN/community/project committers/index.html	
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-community docs-doc-id-project committers">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">project committers | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/community/project committers"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" name [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/docs/Deploy/coordinator-guide/index.html b/zh-CN/docs/Deploy/coordinator-guide/index.html
new file mode 100644
index 0000000..78c974f
--- /dev/null
+++ b/zh-CN/docs/Deploy/coordinator-guide/index.html
@@ -0,0 +1,23 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-Deploy/coordinator-guide">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Uniffle Coordinator Guide | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/docs/Deploy/coordinator-guide"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="tr [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+collecting status of shuffle server and doing the assignment for the job.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="deploy">Deploy<a href="#deploy" class="hash-link" aria-label="Deploy的直接链接" title="Deploy的直接链接">​</a></h2><p>This document will introduce how to deploy Uniffle coordinators.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="steps">Steps<a href="#steps" class="hash-link" aria-label="Steps的直接链接" title="Steps的直接链接">​</a></h3><ol><li><p>unzip package to RSS_HOME< [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/docs/Deploy/hardware-provisioning/index.html b/zh-CN/docs/Deploy/hardware-provisioning/index.html
new file mode 100644
index 0000000..4b4910a
--- /dev/null
+++ b/zh-CN/docs/Deploy/hardware-provisioning/index.html
@@ -0,0 +1,26 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-Deploy/hardware-provisioning">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Hardware Provision | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/docs/Deploy/hardware-provisioning"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+Usually HDD provide 100MB/s write speed we should guarantee that the data can be flushed to disks.
+If our cluster applications write 1 GB/s in the busiest time, we should provide 10 HDD disks.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="memory">MEMORY<a href="#memory" class="hash-link" aria-label="MEMORY的直接链接" title="MEMORY的直接链接">​</a></h2><p>We use the memory to reduce the random IO of write stage. If we have too many partitions, we will flush to small data to the disk.
+It will influence the performance, we should guarantee that every partition&#x27;s memory is bigger than 3MB.
+For example, if we have 1k partitions in our busiest time, we should provide 3 GB memory for them.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="network">NETWORK<a href="#network" class="hash-link" aria-label="NETWORK的直接链接" title="NETWORK的直接链接">​</a></h2><p>In our experience, Uniffle are network-bound. Using a 10 Gigabit or higher network is the best way to make these applications faster.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="cpu-cores">CPU CORES<a href="#cpu-core [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/docs/Deploy/metrics/index.html b/zh-CN/docs/Deploy/metrics/index.html
new file mode 100644
index 0000000..2ef661f
--- /dev/null
+++ b/zh-CN/docs/Deploy/metrics/index.html
@@ -0,0 +1,23 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-Deploy/metrics">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Metrics | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/docs/Deploy/metrics"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" name="docusaurus_version [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+We divide all metrics into four categories.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="coordinator-related-metrics">coordinator-related metrics<a href="#coordinator-related-metrics" class="hash-link" aria-label="coordinator-related metrics的直接链接" title="coordinator-related metrics的直接链接">​</a></h3><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-c [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/docs/Deploy/server-guide/index.html b/zh-CN/docs/Deploy/server-guide/index.html
new file mode 100644
index 0000000..e885c70
--- /dev/null
+++ b/zh-CN/docs/Deploy/server-guide/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-Deploy/server-guide">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Uniffle Shuffle Server Guide | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/docs/Deploy/server-guide"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/docs/K8s-Operator/examples/index.html b/zh-CN/docs/K8s-Operator/examples/index.html
new file mode 100644
index 0000000..1047e0f
--- /dev/null
+++ b/zh-CN/docs/K8s-Operator/examples/index.html
@@ -0,0 +1,24 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-K8s-Operator/examples">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Examples | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/docs/K8s-Operator/examples"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" name="docusaurus [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+to <a href="https://github.com/apache/incubator-uniffle/tree/master/deploy/kubernetes/operator/examples/configuration.yaml" target="_blank" rel="noopener noreferrer">configuration</a>).</p><p>Coordinator is a stateless service, when upgrading, we can directly update the configuration and then update the image.</p><p>Shuffle server is a stateful service, and the upgrade operation is more complicated, so we show examples of different
+upgrade modes.</p><ul><li><a href="https://github.com/apache/incubator-uniffle/tree/master/deploy/kubernetes/operator/examples/full-upgrade" target="_blank" rel="noopener noreferrer">Full Upgrade</a></li><li><a href="https://github.com/apache/incubator-uniffle/tree/master/deploy/kubernetes/operator/examples/full-restart" target="_blank" rel="noopener noreferrer">Full Restart</a></li><li><a href="https://github.com/apache/incubator-uniffle/tree/master/deploy/kubernetes/operator/examples/p [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/docs/K8s-Operator/install/index.html b/zh-CN/docs/K8s-Operator/install/index.html
new file mode 100644
index 0000000..f10a332
--- /dev/null
+++ b/zh-CN/docs/K8s-Operator/install/index.html
@@ -0,0 +1,24 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-K8s-Operator/install">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Installation | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/docs/K8s-Operator/install"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" name="docusau [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+to <a href="https://github.com/apache/incubator-uniffle/tree/master/deploy/kubernetes/operator/config/crd/bases/uniffle.apache.org_remoteshuffleservices.yaml" target="_blank" rel="noopener noreferrer">crd yaml file</a>.</p><p>Run the following command:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><co [...]
+from <a href="/zh-CN/docs/K8s-Operator/uniffle-operator-design">uniffle operator design</a>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="examples">Examples<a href="#examples" class="hash-link" aria-label="Examples的直接链接" title="Examples的直接链接">​</a></h2><p>Example uses of CRD have been <a href="/zh-CN/docs/K8s-Operator/examples">provided</a>.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https: [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/docs/K8s-Operator/uniffle-operator-design/index.html b/zh-CN/docs/K8s-Operator/uniffle-operator-design/index.html
new file mode 100644
index 0000000..12ea528
--- /dev/null
+++ b/zh-CN/docs/K8s-Operator/uniffle-operator-design/index.html
@@ -0,0 +1,31 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-K8s-Operator/uniffle-operator-design">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Uniffle Operator Design | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/docs/K8s-Operator/uniffle-operator-design"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta d [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+easily manage coordinator and shuffle server clusters.</p><p>In addition, based on the operating characteristics of shuffle servers, we hope to achieve safe offline:</p><ol><li>Before a shuffle server is scaled down or upgraded, it should be added to the Coordinator&#x27;s blacklist in advance.</li><li>After ensuring that the number of remaining applications is 0, allow its corresponding pod to be deleted and removed
+from the blacklist.</li></ol><p>We don&#x27;t just want to simply pull up the coordinators and shuffle servers, but also ensure that running jobs are not
+affected. Therefore, we decided to develop an operator specifically.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="goals">Goals<a href="#goals" class="hash-link" aria-label="Goals的直接链接" title="Goals的直接链接">​</a></h2><p>Operator will implement the following functions:</p><ol><li>Normally pull up two coordinator deployments (to ensure active-active) and a shuffle server statefulSet.</li><li>Supports replica expansion and upgrade of coordinators and shuffle servers, among which shuff [...]
+grayscale upgrade.</li><li>Using the webhook mechanism, before a shuffle server is deleted, add its name to the coordinator&#x27;s blacklist, and
+check the number of applications remaining running, and then release the pod deletion request after ensuring safety.</li></ol><h2 class="anchor anchorWithStickyNavbar_LWe7" id="design-details">Design Details<a href="#design-details" class="hash-link" aria-label="Design Details的直接链接" title="Design Details的直接链接">​</a></h2><p>This operator consists of two components: a crd controller and a webhook that admits crd and pod requests.</p><p>The crd controller observes the status changes of the  [...]
+remaining applications is 0.</p><p>The webhook will add the pod to be deleted to the coordinator&#x27;s blacklist. When the pod is actually deleted, the
+controller will remove it from the blacklist.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="crd-definition">CRD Definition<a href="#crd-definition" class="hash-link" aria-label="CRD Definition的直接链接" title="CRD Definition的直接链接">​</a></h2><p>An example of a crd object is as follows:</p><div class="language-yaml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-co [...]
+the workloads.</p><p>For shuffle servers, only by changing the spec.shuffleServer.sync field to true, the controller will apply the
+corresponding updates to the workloads.</p><p>If you want more examples, please read more in <a href="/zh-CN/docs/K8s-Operator/examples">examples</a>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="state-transition">State Transition<a href="#state-transition" class="hash-link" aria-label="State Transition的直接链接" title="State Transition的直接链接">​</a></h2><p><img loading="lazy" alt="state transition" src="/zh-CN/assets/images/rss-crd-state-transition-330944efa8bb505a5f33e6fa07a66365.pn [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/docs/build/index.html b/zh-CN/docs/build/index.html
new file mode 100644
index 0000000..789de7a
--- /dev/null
+++ b/zh-CN/docs/build/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-build">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Build Notes | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/docs/build"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" name="docusaurus_version" con [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/docs/client-guide/index.html b/zh-CN/docs/client-guide/index.html
new file mode 100644
index 0000000..9430b48
--- /dev/null
+++ b/zh-CN/docs/client-guide/index.html
@@ -0,0 +1,30 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-client-guide">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Uniffle Shuffle Client Guide | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/docs/client-guide"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" name= [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+Uniffle has provided pluggable client plugins to enable remote shuffle in Spark and MapReduce.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="deploy">Deploy<a href="#deploy" class="hash-link" aria-label="Deploy的直接链接" title="Deploy的直接链接">​</a></h2><p>This document will introduce how to deploy Uniffle client plugins with Spark and MapReduce.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="deploy-spark-client-plugin">Deploy Spark Client Plugin<a href="#deploy-spark-client-plugi [...]
+There are 2 patches for spark-2.4.6 and spark-3.1.2 in spark-patches folder for reference.</p><p>After apply the patch and rebuild spark, add following configuration in spark conf to enable dynamic allocation:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class= [...]
+and job recovery (i.e., <code>yarn.app.mapreduce.am.job.recovery.enable=false</code>)</p></li></ol><h2 class="anchor anchorWithStickyNavbar_LWe7" id="configuration">Configuration<a href="#configuration" class="hash-link" aria-label="Configuration的直接链接" title="Configuration的直接链接">​</a></h2><p>The important configuration of client is listed as following.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="common-setting">Common Setting<a href="#common-setting" class="hash-link" aria-labe [...]
+The client should use <code>DelegationRssShuffleManager</code> and provide its unique &lt;access_id&gt; so that the coordinator could distinguish whether it should enable remote shuffle.</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="col [...]
+Currently, this feature only supports Spark.</p><p>Other configuration:</p><table><thead><tr><th>Property Name</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td>spark.rss.access.timeout.ms</td><td>10000</td><td>The timeout to access Uniffle coordinator</td></tr><tr><td>spark.rss.client.access.retry.interval.ms</td><td>20000</td><td>The interval between retries fallback to SortShuffleManager</td></tr><tr><td>spark.rss.client.access.retry.times</td><td>0</td><td>The numbe [...]
+This feature is client-side behaviour, in which shuffle writer sends each block to multiple servers, and shuffle readers could fetch block data from one of server.
+Since sending multiple replicas of blocks can reduce the shuffle performance and resource consumption, we designed it as an optional feature.</p><table><thead><tr><th>Property Name</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td>&lt;client_type&gt;.rss.data.replica</td><td>1</td><td>The max server number that each block can be send by client in quorum protocol</td></tr><tr><td>&lt;client_type&gt;.rss.data.replica.write</td><td>1</td><td>The min server number that each [...]
+This experimental feature allows reduce tasks to spill data to remote storage (e.g., hdfs)</p><table><thead><tr><th>Property Name</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td>mapreduce.rss.reduce.remote.spill.enable</td><td>false</td><td>Whether to use remote spill</td></tr><tr><td>mapreduce.rss.reduce.remote.spill.attempt.inc</td><td>1</td><td>Increase reduce attempts as hdfs is easier to crash than disk</td></tr><tr><td>mapreduce.rss.reduce.remote.spill.replicati [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/docs/configuration/index.html b/zh-CN/docs/configuration/index.html
new file mode 100644
index 0000000..3b5269e
--- /dev/null
+++ b/zh-CN/docs/configuration/index.html
@@ -0,0 +1,23 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-configuration">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Uniffle Configuration | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/docs/configuration"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" name="docus [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+<code>spark.</code> is used by the spark client and <code>mapreduce.</code> is used by the mr client.</p></blockquote><table><thead><tr><th>Property Name</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td>rss.c.ient.type</td><td>GRPC</td><td>rpc client type</td></tr><tr><td>rss.client.retry.max</td><td>100</td><td>max rpc retry count</td></tr><tr><td>rss.client.retry.interval.max</td><td>10000</td><td>rpc retry interval (ms)</td></tr><tr><td>rss.coordinator.quorum</td><t [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/docs/intro/index.html b/zh-CN/docs/intro/index.html
new file mode 100644
index 0000000..c5eefe5
--- /dev/null
+++ b/zh-CN/docs/intro/index.html
@@ -0,0 +1,27 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-intro">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">介绍 | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/docs/intro"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" name="docusaurus_version" content="cur [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+<a href="https://codecov.io/gh/apache/incubator-uniffle" target="_blank" rel="noopener noreferrer"><img loading="lazy" src="https://codecov.io/gh/apache/incubator-uniffle/branch/master/graph/badge.svg" alt="Codecov" class="img_ev3q"></a></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="架构">架构<a href="#架构" class="hash-link" aria-label="架构的直接链接" title="架构的直接链接">​</a></h2><p><img loading="lazy" alt="Rss 架构" src="/zh-CN/assets/images/rss_architecture-a3a32a259b8b40834c295f5f17ce66cb.png [...]
+Uniffle 包含 coordinator cluster (协调器集群)、shuffle server(shuffle服务集群) ,另外如有需要,还可以提供远程存储的能力(如 HDFS)。</p><p>Coordinator 会收集 shuffle 服务的状态并分配任务。</p><p>Shuffle服务会接收与合并 shuffle 数据,并它们写入存储内。</p><p>根据不同情况,Uniffle 支持:内存&amp;本地存储、内存&amp;远程存储(如 HDFS)、内存&amp;本地存储&amp;及远程存储(推荐用于生产环境)。</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="uniffle-的-shuffle-处理">Uniffle 的 Shuffle 处理<a href="#uniffle-的-shuffle-处理" class="hash-link" aria-label="Uniffle 的 Shuffle 处理的直接链接" title="Uniffle 的 Shuffle 处理的直接链接">​< [...]
+<img loading="lazy" alt="Rss Shuffle_Write" src="/zh-CN/assets/images/rss_shuffle_write-0018bea428f435c37c6f369defc3a081.png" width="997" height="499" class="img_ev3q"></p><ol><li>将 KV 数据发送到缓冲区</li><li>当缓冲区满或缓冲区管理器满时,将缓冲区刷新到队列中</li><li>线程池从队列中获取数据</li><li>先向shuffle服务申请内存,然后发送shuffle数据</li><li>shuffle服务先在内存中缓存数据,并在缓冲区管理器满时刷新到队列中</li><li>线程池从队列中获取数据</li><li>通过索引文件和数据文件将数据写入存储内</li><li>写入数据后,任务向shuffle服务报告所有的 blockId,这一步用于稍后的数据验证</li><li>在 MapStatus 中存储 taskAttemptId,以支持 Spark speculation</ [...]
+请执行如下命令进行构建:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">mvn -DskipTests clean package</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="复制代码到剪贴板" ti [...]
+在 spark-patches 文件夹中有 3 个针对 spark(2.4.6/3.1.2/3.2.1)的补丁供参考。</p><p>打完补丁并重新编译 spark 后,在 spark conf 中添加以下配置以启用动态分配:</p><div class="codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">spark.shuffle.service.enabled false< [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/docs/tuning/index.html b/zh-CN/docs/tuning/index.html
new file mode 100644
index 0000000..a8565fc
--- /dev/null
+++ b/zh-CN/docs/tuning/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-tuning">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Tuning Uniffle | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/docs/tuning"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" name="docusaurus_version" [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/download/index.html b/zh-CN/download/index.html
new file mode 100644
index 0000000..59fc8f5
--- /dev/null
+++ b/zh-CN/download/index.html
@@ -0,0 +1,31 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-download docs-doc-id-index">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Download | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/download/"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" name="docusaurus_version" content [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+The latest release is <code>0.7.1</code>.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="releases">Releases<a href="#releases" class="hash-link" aria-label="Releases的直接链接" title="Releases的直接链接">​</a></h3><table class="table table-hover sortable"><thead><tr><th><b>Name</b></th><th><b>Source Archive</b></th><th><b>SHA-512</b></th><th><b>Signature</b></th><th><b>Release Notes</b></th></tr></thead><tbody><tr><td>Apache Uniffle 0.8.0 (incubating)</td><td><a href="https://downloads.apac [...]
+and <a href="https://www.apache.org/dyn/closer.cgi#verify" target="_blank" rel="noopener noreferrer">verify</a>
+using the corresponding <em>pgp</em> signature (using the committer file in
+<a href="https://downloads.apache.org/incubator/uniffle/KEYS" target="_blank" rel="noopener noreferrer">KEYS</a>).
+If you cannot do that, the <em>sha512</em> hash file may be used to check that the
+download has completed OK.</p><p>For fast downloads, current source distributions are hosted on
+<a href="https://dlcdn.apache.org/incubator/uniffle/" target="_blank" rel="noopener noreferrer">mirror servers</a>;
+older source distributions are in the
+<a href="https://archive.apache.org/dist/incubator/uniffle/" target="_blank" rel="noopener noreferrer">archive</a>.</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="文档分页导航"><a class="pagination-nav__link pagination-nav__link--next" href="/zh-CN/download/release-notes-0.8.0"><div class="pagination-nav__sublabel">下一页</div><div class="pagination-nav__label">Release Notes 0.8.0</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/download/release-notes-0.6.0/index.html b/zh-CN/download/release-notes-0.6.0/index.html
new file mode 100644
index 0000000..aeb078e
--- /dev/null
+++ b/zh-CN/download/release-notes-0.6.0/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-download docs-doc-id-release-notes-0.6.0">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Release Notes 0.6.0 | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/download/release-notes-0.6.0"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" nam [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/download/release-notes-0.6.1/index.html b/zh-CN/download/release-notes-0.6.1/index.html
new file mode 100644
index 0000000..557d74a
--- /dev/null
+++ b/zh-CN/download/release-notes-0.6.1/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-download docs-doc-id-release-notes-0.6.1">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Release Notes 0.6.1 | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/download/release-notes-0.6.1"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" nam [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/download/release-notes-0.7.0/index.html b/zh-CN/download/release-notes-0.7.0/index.html
new file mode 100644
index 0000000..0cb4b4c
--- /dev/null
+++ b/zh-CN/download/release-notes-0.7.0/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-download docs-doc-id-release-notes-0.7.0">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Release Notes 0.7.0 | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/download/release-notes-0.7.0"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" nam [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/download/release-notes-0.7.1/index.html b/zh-CN/download/release-notes-0.7.1/index.html
new file mode 100644
index 0000000..7cb0158
--- /dev/null
+++ b/zh-CN/download/release-notes-0.7.1/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-download docs-doc-id-release-notes-0.7.1">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Release Notes 0.7.1 | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/download/release-notes-0.7.1"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" nam [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/download/release-notes-0.8.0/index.html b/zh-CN/download/release-notes-0.8.0/index.html
new file mode 100644
index 0000000..981d1b3
--- /dev/null
+++ b/zh-CN/download/release-notes-0.8.0/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-download docs-doc-id-release-notes-0.8.0">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">Release Notes 0.8.0 | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/download/release-notes-0.8.0"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta data-rh="true" nam [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/img/apache-incubator.svg b/zh-CN/img/apache-incubator.svg
new file mode 100644
index 0000000..f5fa825
--- /dev/null
+++ b/zh-CN/img/apache-incubator.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg"  height="35"   viewBox="0 0 473.26 110.22"><defs><style>.cls-1,.cls-2{fill:#fff;}.cls-1{fill-rule:evenodd;}</style></defs><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><polygon class="cls-1" points="445.81 13.29 467.03 13.29 467.03 15.29 448.03 15.29 448.03 27.09 465.11 27.09 465.11 29.09 448.03 29.09 448.03 41.1 467.24 41.1 467.24 43.11 445.81 43.11 445.81 13.29"/><polygon class="cls-1" points="377.65 13.29 379.86 13.29 [...]
\ No newline at end of file
diff --git a/zh-CN/img/favicon.ico b/zh-CN/img/favicon.ico
new file mode 100644
index 0000000..f3a1d5e
Binary files /dev/null and b/zh-CN/img/favicon.ico differ
diff --git a/zh-CN/img/uniffle-logo.png b/zh-CN/img/uniffle-logo.png
new file mode 100644
index 0000000..1acf400
Binary files /dev/null and b/zh-CN/img/uniffle-logo.png differ
diff --git a/zh-CN/index.html b/zh-CN/index.html
new file mode 100644
index 0000000..8b48271
--- /dev/null
+++ b/zh-CN/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="plugin-pages plugin-id-default">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">主页 | Apache Uniffle (Incubating)</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="zh-CN"><meta da [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div id="docusaurus-base-url-issue-banner-container"></div><div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/search-index.json b/zh-CN/search-index.json
new file mode 100644
index 0000000..b385185
--- /dev/null
+++ b/zh-CN/search-index.json
@@ -0,0 +1 @@
+[{"documents":[{"i":261,"t":"","u":"/zh-CN/blog/archive","b":["博客"]},{"i":262,"t":"2022 summary","u":"/zh-CN/blog/2023/01/09/2022 summary","b":["博客"]},{"i":275,"t":"Uniffle - New chapter for the shuffle in the cloud native era","u":"/zh-CN/blog/2023/07/21/Uniffle - New chapter for the shuffle in the cloud native era","b":["博客"]},{"i":341,"t":"Build Notes","u":"/zh-CN/docs/build","b":["文档"]},{"i":361,"t":"Uniffle Shuffle Client Guide","u":"/zh-CN/docs/client-guide","b":["文档"]},{"i":385,"t [...]
\ No newline at end of file
diff --git a/zh-CN/search/index.html b/zh-CN/search/index.html
new file mode 100644
index 0000000..3cfd4dc
--- /dev/null
+++ b/zh-CN/search/index.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html lang="zh-CN" dir="ltr" class="plugin-@easyops-cn/docusaurus-search-local plugin-id-default">
+<head>
+<meta charset="UTF-8">
+<meta name="generator" content="Docusaurus v2.4.0">
+<title data-rh="true">搜索文档</title><meta data-rh="true" property="og:title" content="Apache Uniffle (Incubating)"><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://uniffle.apache.org/zh-CN/search"><meta data-rh="true" name="docusaurus_locale" content="zh-CN"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh= [...]
+<link rel="alternate" type="application/atom+xml" href="/zh-CN/blog/atom.xml" title="Apache Uniffle (Incubating) Atom Feed"><link rel="stylesheet" href="/zh-CN/assets/css/styles.c92a85d1.css">
+<link rel="preload" href="/zh-CN/assets/js/runtime~main.5bbd3a25.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.08520cad.js" as="script">
+</head>
+<body class="navigation-with-keyboard">
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
+<div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="切换导航栏" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d= [...]
+          <div>
+            <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 20px;"> Apache Uniffle (Incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status  [...]
+          </div>
+          <div style="border-top: 1px solid #ccc;min-height: 60px;line-height: 20px;text-align: center;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;"><span>Copyright © 2023 The Apache Software Foundation. Apache Uniffle (Incubating), Uniffle, and its feather logo are trademarks of The Apache Software Foundation.</span></div>
+        </div></div></div></div></footer></div>
+<script src="/zh-CN/assets/js/runtime~main.5bbd3a25.js"></script>
+<script src="/zh-CN/assets/js/main.08520cad.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zh-CN/sitemap.xml b/zh-CN/sitemap.xml
new file mode 100644
index 0000000..495c76f
--- /dev/null
+++ b/zh-CN/sitemap.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://uniffle.apache.org/zh-CN/blog</loc><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://uniffle.apache.org/zh-CN/blog/2023/ [...]
\ No newline at end of file