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/07/23 04:15:41 UTC

[incubator-uniffle-website] branch asf-site updated (e0931d2 -> e4f0ab7)

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

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


 discard e0931d2  deploy: 0eb11e7311fe75626b277b3f37181a8cc7c6775a
     new e4f0ab7  deploy: 15389c0dcdfdeffdf304466dbd7c801102a7c02d

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (e0931d2)
            \
             N -- N -- N   refs/heads/asf-site (e4f0ab7)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 404.html                                           |  8 +++---
 .../{236d553a.8a586932.js => 236d553a.032e3ee3.js} |  2 +-
 .../{315cc475.e5105a8f.js => 315cc475.300c5c08.js} |  2 +-
 .../{3a51d15f.d6cc403a.js => 3a51d15f.46013b05.js} |  2 +-
 .../{4f36484c.e6f6b894.js => 4f36484c.3a1c833b.js} |  2 +-
 .../{5fd98138.68af2c05.js => 5fd98138.1a6b1d55.js} |  2 +-
 assets/js/87409331.1e672078.js                     |  1 +
 assets/js/87409331.96469f12.js                     |  1 -
 .../{90536160.3d30cc11.js => 90536160.6977b538.js} |  2 +-
 .../{94b8b27b.a864401f.js => 94b8b27b.fe2ed36a.js} |  2 +-
 .../{9a0f4242.55f3d1fd.js => 9a0f4242.da7562bb.js} |  2 +-
 .../{a84996eb.bf033910.js => a84996eb.2f921797.js} |  2 +-
 .../{a9dfc084.fac171f5.js => a9dfc084.e0e3cce3.js} |  2 +-
 assets/js/abf89fc5.5866872d.js                     |  1 +
 assets/js/abf89fc5.e91863ee.js                     |  1 -
 .../{b06a86ee.e2457ada.js => b06a86ee.d0f52c2a.js} |  2 +-
 assets/js/b2f554cd.0dda3e55.js                     |  1 +
 assets/js/b2f554cd.239cd3c6.js                     |  1 -
 .../{fed7d42c.7ed93cb5.js => fed7d42c.0f0f7c93.js} |  2 +-
 assets/js/{main.b5caebca.js => main.44cdc1fe.js}   |  4 +--
 ...js.LICENSE.txt => main.44cdc1fe.js.LICENSE.txt} |  0
 ...e~main.7fea9791.js => runtime~main.d01c3e43.js} |  2 +-
 blog/2023/01/09/2022 summary/index.html            |  8 +++---
 .../index.html                                     | 29 +++++++++++-----------
 blog/archive/index.html                            |  8 +++---
 blog/atom.xml                                      | 21 ++++++++--------
 blog/index.html                                    | 29 +++++++++++-----------
 blog/rss.xml                                       | 21 ++++++++--------
 community/how-to-contribute/index.html             |  8 +++---
 community/how-to-release/index.html                |  8 +++---
 community/project committers/index.html            |  8 +++---
 docs/Deploy/coordinator-guide/index.html           | 10 ++++----
 docs/Deploy/hardware-provisioning/index.html       | 10 ++++----
 docs/Deploy/metrics/index.html                     | 10 ++++----
 docs/Deploy/server-guide/index.html                | 10 ++++----
 docs/K8s-Operator/examples/index.html              | 10 ++++----
 docs/K8s-Operator/install/index.html               | 10 ++++----
 .../uniffle-operator-design/index.html             | 10 ++++----
 docs/build/index.html                              | 10 ++++----
 docs/client-guide/index.html                       | 10 ++++----
 docs/configuration/index.html                      | 10 ++++----
 docs/intro/index.html                              | 10 ++++----
 docs/tuning/index.html                             | 10 ++++----
 download/index.html                                |  8 +++---
 download/release-notes-0.6.0/index.html            |  8 +++---
 download/release-notes-0.6.1/index.html            |  8 +++---
 download/release-notes-0.7.0/index.html            |  8 +++---
 download/release-notes-0.7.1/index.html            |  8 +++---
 index.html                                         |  8 +++---
 search-index.json                                  |  2 +-
 search/index.html                                  |  8 +++---
 zh-CN/404.html                                     |  8 +++---
 .../{236d553a.7ea3c485.js => 236d553a.e916dbe9.js} |  2 +-
 .../{315cc475.3f837f77.js => 315cc475.16722416.js} |  2 +-
 .../{3a51d15f.6b0d9a68.js => 3a51d15f.a07031a7.js} |  2 +-
 .../{4f36484c.d0a94b8e.js => 4f36484c.fa7acea4.js} |  2 +-
 zh-CN/assets/js/50bc71d4.587660d0.js               |  1 +
 zh-CN/assets/js/50bc71d4.f7214cf1.js               |  1 -
 .../{5fd98138.4c8afe0a.js => 5fd98138.d8240665.js} |  2 +-
 zh-CN/assets/js/87409331.3d580464.js               |  1 +
 zh-CN/assets/js/87409331.9dd54158.js               |  1 -
 .../{90536160.dd2d55d9.js => 90536160.82bfe3c4.js} |  2 +-
 .../{94b8b27b.13f6355d.js => 94b8b27b.56dbb547.js} |  2 +-
 .../{9a0f4242.1b1b320b.js => 9a0f4242.2cff81d4.js} |  2 +-
 .../{a84996eb.8baaa1f2.js => a84996eb.5ffff613.js} |  2 +-
 .../{a9dfc084.80cd9132.js => a9dfc084.d014125a.js} |  2 +-
 zh-CN/assets/js/abf89fc5.28cada14.js               |  1 -
 zh-CN/assets/js/abf89fc5.5ecd5be4.js               |  1 +
 .../{b06a86ee.53de8c3b.js => b06a86ee.ec21f6f9.js} |  2 +-
 .../{fed7d42c.e2612b18.js => fed7d42c.fe52cbba.js} |  2 +-
 .../js/{main.f4231795.js => main.b7fc9d0e.js}      |  4 +--
 ...js.LICENSE.txt => main.b7fc9d0e.js.LICENSE.txt} |  0
 ...e~main.ee2631a9.js => runtime~main.2a597e11.js} |  2 +-
 zh-CN/blog/2023/01/09/2022 summary/index.html      |  8 +++---
 .../index.html                                     | 29 +++++++++++-----------
 zh-CN/blog/archive/index.html                      |  8 +++---
 zh-CN/blog/atom.xml                                | 21 ++++++++--------
 zh-CN/blog/index.html                              | 29 +++++++++++-----------
 zh-CN/blog/rss.xml                                 | 21 ++++++++--------
 zh-CN/community/how-to-contribute/index.html       |  8 +++---
 zh-CN/community/how-to-release/index.html          |  8 +++---
 zh-CN/community/project committers/index.html      |  8 +++---
 zh-CN/docs/Deploy/coordinator-guide/index.html     | 10 ++++----
 zh-CN/docs/Deploy/hardware-provisioning/index.html | 10 ++++----
 zh-CN/docs/Deploy/metrics/index.html               | 10 ++++----
 zh-CN/docs/Deploy/server-guide/index.html          | 10 ++++----
 zh-CN/docs/K8s-Operator/examples/index.html        | 10 ++++----
 zh-CN/docs/K8s-Operator/install/index.html         | 10 ++++----
 .../uniffle-operator-design/index.html             | 10 ++++----
 zh-CN/docs/build/index.html                        | 10 ++++----
 zh-CN/docs/client-guide/index.html                 | 10 ++++----
 zh-CN/docs/configuration/index.html                | 10 ++++----
 zh-CN/docs/intro/index.html                        | 10 ++++----
 zh-CN/docs/tuning/index.html                       | 10 ++++----
 zh-CN/download/index.html                          |  8 +++---
 zh-CN/download/release-notes-0.6.0/index.html      |  8 +++---
 zh-CN/download/release-notes-0.6.1/index.html      |  8 +++---
 zh-CN/download/release-notes-0.7.0/index.html      |  8 +++---
 zh-CN/download/release-notes-0.7.1/index.html      |  8 +++---
 zh-CN/index.html                                   |  8 +++---
 zh-CN/search-index.json                            |  2 +-
 zh-CN/search/index.html                            |  8 +++---
 102 files changed, 366 insertions(+), 358 deletions(-)
 rename assets/js/{236d553a.8a586932.js => 236d553a.032e3ee3.js} (98%)
 rename assets/js/{315cc475.e5105a8f.js => 315cc475.300c5c08.js} (99%)
 rename assets/js/{3a51d15f.d6cc403a.js => 3a51d15f.46013b05.js} (98%)
 rename assets/js/{4f36484c.e6f6b894.js => 4f36484c.3a1c833b.js} (98%)
 rename assets/js/{5fd98138.68af2c05.js => 5fd98138.1a6b1d55.js} (98%)
 create mode 100644 assets/js/87409331.1e672078.js
 delete mode 100644 assets/js/87409331.96469f12.js
 rename assets/js/{90536160.3d30cc11.js => 90536160.6977b538.js} (97%)
 rename assets/js/{94b8b27b.a864401f.js => 94b8b27b.fe2ed36a.js} (98%)
 rename assets/js/{9a0f4242.55f3d1fd.js => 9a0f4242.da7562bb.js} (98%)
 rename assets/js/{a84996eb.bf033910.js => a84996eb.2f921797.js} (99%)
 rename assets/js/{a9dfc084.fac171f5.js => a9dfc084.e0e3cce3.js} (99%)
 create mode 100644 assets/js/abf89fc5.5866872d.js
 delete mode 100644 assets/js/abf89fc5.e91863ee.js
 rename assets/js/{b06a86ee.e2457ada.js => b06a86ee.d0f52c2a.js} (99%)
 create mode 100644 assets/js/b2f554cd.0dda3e55.js
 delete mode 100644 assets/js/b2f554cd.239cd3c6.js
 rename assets/js/{fed7d42c.7ed93cb5.js => fed7d42c.0f0f7c93.js} (99%)
 rename assets/js/{main.b5caebca.js => main.44cdc1fe.js} (99%)
 rename assets/js/{main.b5caebca.js.LICENSE.txt => main.44cdc1fe.js.LICENSE.txt} (100%)
 rename assets/js/{runtime~main.7fea9791.js => runtime~main.d01c3e43.js} (54%)
 rename zh-CN/assets/js/{236d553a.7ea3c485.js => 236d553a.e916dbe9.js} (97%)
 rename zh-CN/assets/js/{315cc475.3f837f77.js => 315cc475.16722416.js} (99%)
 rename zh-CN/assets/js/{3a51d15f.6b0d9a68.js => 3a51d15f.a07031a7.js} (98%)
 rename zh-CN/assets/js/{4f36484c.d0a94b8e.js => 4f36484c.fa7acea4.js} (99%)
 create mode 100644 zh-CN/assets/js/50bc71d4.587660d0.js
 delete mode 100644 zh-CN/assets/js/50bc71d4.f7214cf1.js
 rename zh-CN/assets/js/{5fd98138.4c8afe0a.js => 5fd98138.d8240665.js} (98%)
 create mode 100644 zh-CN/assets/js/87409331.3d580464.js
 delete mode 100644 zh-CN/assets/js/87409331.9dd54158.js
 rename zh-CN/assets/js/{90536160.dd2d55d9.js => 90536160.82bfe3c4.js} (98%)
 rename zh-CN/assets/js/{94b8b27b.13f6355d.js => 94b8b27b.56dbb547.js} (97%)
 rename zh-CN/assets/js/{9a0f4242.1b1b320b.js => 9a0f4242.2cff81d4.js} (97%)
 rename zh-CN/assets/js/{a84996eb.8baaa1f2.js => a84996eb.5ffff613.js} (99%)
 rename zh-CN/assets/js/{a9dfc084.80cd9132.js => a9dfc084.d014125a.js} (98%)
 delete mode 100644 zh-CN/assets/js/abf89fc5.28cada14.js
 create mode 100644 zh-CN/assets/js/abf89fc5.5ecd5be4.js
 rename zh-CN/assets/js/{b06a86ee.53de8c3b.js => b06a86ee.ec21f6f9.js} (99%)
 rename zh-CN/assets/js/{fed7d42c.e2612b18.js => fed7d42c.fe52cbba.js} (99%)
 rename zh-CN/assets/js/{main.f4231795.js => main.b7fc9d0e.js} (99%)
 rename zh-CN/assets/js/{main.f4231795.js.LICENSE.txt => main.b7fc9d0e.js.LICENSE.txt} (100%)
 rename zh-CN/assets/js/{runtime~main.ee2631a9.js => runtime~main.2a597e11.js} (88%)


[incubator-uniffle-website] 01/01: deploy: 15389c0dcdfdeffdf304466dbd7c801102a7c02d

Posted by gi...@apache.org.
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 e4f0ab7d3a1ef3a6dbc902383955aaa8f0110ef2
Author: jerqi <je...@users.noreply.github.com>
AuthorDate: Sun Jul 23 04:15:35 2023 +0000

    deploy: 15389c0dcdfdeffdf304466dbd7c801102a7c02d
---
 .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/04b1c040.7944735e.js                     |   1 +
 assets/js/0a4b8562.ab8a989f.js                     |   1 +
 assets/js/17896441.31590cc0.js                     |   1 +
 assets/js/1a4e3797.0231b2d7.js                     |   1 +
 assets/js/1be78505.05a4308a.js                     |   1 +
 assets/js/1df93b7f.ae4a6841.js                     |   1 +
 assets/js/236d553a.032e3ee3.js                     |   1 +
 assets/js/2697e8cd.47a3cc9e.js                     |   1 +
 assets/js/26991455.8a5e5d93.js                     |   1 +
 assets/js/306a8c6c.40e43425.js                     |   1 +
 assets/js/315cc475.300c5c08.js                     |   1 +
 assets/js/3a51d15f.46013b05.js                     |   1 +
 assets/js/3c4daf9d.4fab045f.js                     |   1 +
 assets/js/492d57dd.eaec980b.js                     |   1 +
 assets/js/4972.b2062fd1.js                         |   1 +
 assets/js/4f36484c.3a1c833b.js                     |   1 +
 assets/js/5525.36b2ab15.js                         |   1 +
 assets/js/5665.3fb2cbd0.js                         |   1 +
 assets/js/5fd8e189.845a4205.js                     |   1 +
 assets/js/5fd98138.1a6b1d55.js                     |   1 +
 assets/js/6048.100b2257.js                         |   1 +
 assets/js/814f3328.41a90d30.js                     |   1 +
 assets/js/82aa1fce.df469350.js                     |   1 +
 assets/js/8443.30345cef.js                         |   2 +
 assets/js/8443.30345cef.js.LICENSE.txt             |   1 +
 assets/js/87409331.1e672078.js                     |   1 +
 assets/js/90536160.6977b538.js                     |   1 +
 assets/js/935f2afb.e36d0138.js                     |   1 +
 assets/js/93ca4beb.4ffc532a.js                     |   1 +
 assets/js/94b8b27b.fe2ed36a.js                     |   1 +
 assets/js/96f77003.392717d1.js                     |   1 +
 assets/js/9a0f4242.da7562bb.js                     |   1 +
 assets/js/9e4087bc.32b8fabc.js                     |   1 +
 assets/js/a6aa9e1f.e8c1f1ea.js                     |   1 +
 assets/js/a84996eb.2f921797.js                     |   1 +
 assets/js/a9dfc084.e0e3cce3.js                     |   1 +
 assets/js/abf89fc5.5866872d.js                     |   1 +
 assets/js/b0207dc0.eb863847.js                     |   1 +
 assets/js/b06a86ee.d0f52c2a.js                     |   1 +
 assets/js/b2b675dd.be4cb386.js                     |   1 +
 assets/js/b2f554cd.0dda3e55.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/e3ac53b1.da34ffb5.js                     |   1 +
 assets/js/ea60fead.c06427c9.js                     |   1 +
 assets/js/f810106c.8cc708ab.js                     |   1 +
 assets/js/fed7d42c.0f0f7c93.js                     |   1 +
 assets/js/main.44cdc1fe.js                         |   2 +
 assets/js/main.44cdc1fe.js.LICENSE.txt             | 125 +++++++++++++++++++++
 assets/js/runtime~main.d01c3e43.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                |  27 +++++
 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 ++++
 img/apache-incubator.svg                           |   1 +
 img/favicon.ico                                    | Bin 0 -> 168934 bytes
 img/uniffle-logo.png                               | Bin 0 -> 350187 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-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
 zh-CN/assets/js/04b1c040.f375d7e0.js               |   1 +
 zh-CN/assets/js/0a4b8562.595995b2.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/1df93b7f.ae4a6841.js               |   1 +
 zh-CN/assets/js/236d553a.e916dbe9.js               |   1 +
 zh-CN/assets/js/2697e8cd.47a3cc9e.js               |   1 +
 zh-CN/assets/js/26991455.0f244279.js               |   1 +
 zh-CN/assets/js/306a8c6c.496c9eb6.js               |   1 +
 zh-CN/assets/js/315cc475.16722416.js               |   1 +
 zh-CN/assets/js/3a51d15f.a07031a7.js               |   1 +
 zh-CN/assets/js/3c4daf9d.4fab045f.js               |   1 +
 zh-CN/assets/js/492d57dd.595e033a.js               |   1 +
 zh-CN/assets/js/4972.b2062fd1.js                   |   1 +
 zh-CN/assets/js/4f36484c.fa7acea4.js               |   1 +
 zh-CN/assets/js/50bc71d4.587660d0.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.d8240665.js               |   1 +
 zh-CN/assets/js/6048.100b2257.js                   |   1 +
 zh-CN/assets/js/814f3328.0b31ac5a.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/87409331.3d580464.js               |   1 +
 zh-CN/assets/js/8d998be3.647862a1.js               |   1 +
 zh-CN/assets/js/90536160.82bfe3c4.js               |   1 +
 zh-CN/assets/js/935f2afb.887f047c.js               |   1 +
 zh-CN/assets/js/93ca4beb.9850ce8c.js               |   1 +
 zh-CN/assets/js/94b8b27b.56dbb547.js               |   1 +
 zh-CN/assets/js/96f77003.332cc25c.js               |   1 +
 zh-CN/assets/js/9a0f4242.2cff81d4.js               |   1 +
 zh-CN/assets/js/9e4087bc.32b8fabc.js               |   1 +
 zh-CN/assets/js/a6aa9e1f.e8c1f1ea.js               |   1 +
 zh-CN/assets/js/a84996eb.5ffff613.js               |   1 +
 zh-CN/assets/js/a9dfc084.d014125a.js               |   1 +
 zh-CN/assets/js/abf89fc5.5ecd5be4.js               |   1 +
 zh-CN/assets/js/b0207dc0.177641f2.js               |   1 +
 zh-CN/assets/js/b06a86ee.ec21f6f9.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/e3ac53b1.0a57b332.js               |   1 +
 zh-CN/assets/js/ea60fead.c06427c9.js               |   1 +
 zh-CN/assets/js/f810106c.8cc708ab.js               |   1 +
 zh-CN/assets/js/fed7d42c.fe52cbba.js               |   1 +
 zh-CN/assets/js/main.b7fc9d0e.js                   |   2 +
 zh-CN/assets/js/main.b7fc9d0e.js.LICENSE.txt       | 125 +++++++++++++++++++++
 zh-CN/assets/js/runtime~main.2a597e11.js           |   1 +
 zh-CN/blog/2023/01/09/2022 summary/index.html      |  23 ++++
 .../index.html                                     |  38 +++++++
 zh-CN/blog/archive/index.html                      |  22 ++++
 zh-CN/blog/atom.xml                                |  43 +++++++
 zh-CN/blog/index.html                              |  39 +++++++
 zh-CN/blog/rss.xml                                 |  45 ++++++++
 zh-CN/community/how-to-contribute/index.html       |  22 ++++
 zh-CN/community/how-to-release/index.html          |  27 +++++
 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                        |  29 +++++
 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/img/apache-incubator.svg                     |   1 +
 zh-CN/img/favicon.ico                              | Bin 0 -> 168934 bytes
 zh-CN/img/uniffle-logo.png                         | Bin 0 -> 350187 bytes
 zh-CN/index.html                                   |  22 ++++
 zh-CN/search-index.json                            |   1 +
 zh-CN/search/index.html                            |  22 ++++
 zh-CN/sitemap.xml                                  |   1 +
 208 files changed, 1972 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..197a311
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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/04b1c040.7944735e.js b/assets/js/04b1c040.7944735e.js
new file mode 100644
index 0000000..0206e0f
--- /dev/null
+++ b/assets/js/04b1c040.7944735e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4118],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>f});var a=t(7294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function o( [...]
\ No newline at end of file
diff --git a/assets/js/0a4b8562.ab8a989f.js b/assets/js/0a4b8562.ab8a989f.js
new file mode 100644
index 0000000..2c2b6b8
--- /dev/null
+++ b/assets/js/0a4b8562.ab8a989f.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.ae4a6841.js b/assets/js/1df93b7f.ae4a6841.js
new file mode 100644
index 0000000..75bb72d
--- /dev/null
+++ b/assets/js/1df93b7f.ae4a6841.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3237],{8391:(e,t,n)=>{n.r(t),n.d(t,{default:()=>E});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.032e3ee3.js b/assets/js/236d553a.032e3ee3.js
new file mode 100644
index 0000000..be849a0
--- /dev/null
+++ b/assets/js/236d553a.032e3ee3.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/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.8a5e5d93.js b/assets/js/26991455.8a5e5d93.js
new file mode 100644
index 0000000..64cc162
--- /dev/null
+++ b/assets/js/26991455.8a5e5d93.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8659],{3905:(t,e,n)=>{n.d(e,{Zo:()=>m,kt:()=>y});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 o( [...]
\ No newline at end of file
diff --git a/assets/js/306a8c6c.40e43425.js b/assets/js/306a8c6c.40e43425.js
new file mode 100644
index 0000000..0376106
--- /dev/null
+++ b/assets/js/306a8c6c.40e43425.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.300c5c08.js b/assets/js/315cc475.300c5c08.js
new file mode 100644
index 0000000..e0982d5
--- /dev/null
+++ b/assets/js/315cc475.300c5c08.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/3a51d15f.46013b05.js b/assets/js/3a51d15f.46013b05.js
new file mode 100644
index 0000000..2984911
--- /dev/null
+++ b/assets/js/3a51d15f.46013b05.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.eaec980b.js b/assets/js/492d57dd.eaec980b.js
new file mode 100644
index 0000000..fde4563
--- /dev/null
+++ b/assets/js/492d57dd.eaec980b.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.3a1c833b.js b/assets/js/4f36484c.3a1c833b.js
new file mode 100644
index 0000000..1342e5c
--- /dev/null
+++ b/assets/js/4f36484c.3a1c833b.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.1a6b1d55.js b/assets/js/5fd98138.1a6b1d55.js
new file mode 100644
index 0000000..33860f1
--- /dev/null
+++ b/assets/js/5fd98138.1a6b1d55.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 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/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/814f3328.41a90d30.js b/assets/js/814f3328.41a90d30.js
new file mode 100644
index 0000000..5ab34a7
--- /dev/null
+++ b/assets/js/814f3328.41a90d30.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/87409331.1e672078.js b/assets/js/87409331.1e672078.js
new file mode 100644
index 0000000..d0d81b5
--- /dev/null
+++ b/assets/js/87409331.1e672078.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6562],{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/90536160.6977b538.js b/assets/js/90536160.6977b538.js
new file mode 100644
index 0000000..3b0fa2c
--- /dev/null
+++ b/assets/js/90536160.6977b538.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.4ffc532a.js b/assets/js/93ca4beb.4ffc532a.js
new file mode 100644
index 0000000..827bc53
--- /dev/null
+++ b/assets/js/93ca4beb.4ffc532a.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.7.1","href":"/download/release-notes-0.7.1","docId":"release-notes-0.7.1"},{"type [...]
\ No newline at end of file
diff --git a/assets/js/94b8b27b.fe2ed36a.js b/assets/js/94b8b27b.fe2ed36a.js
new file mode 100644
index 0000000..68aefcf
--- /dev/null
+++ b/assets/js/94b8b27b.fe2ed36a.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.392717d1.js b/assets/js/96f77003.392717d1.js
new file mode 100644
index 0000000..e6f09c8
--- /dev/null
+++ b/assets/js/96f77003.392717d1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2072],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,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 o(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/9a0f4242.da7562bb.js b/assets/js/9a0f4242.da7562bb.js
new file mode 100644
index 0000000..d695e25
--- /dev/null
+++ b/assets/js/9a0f4242.da7562bb.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.2f921797.js b/assets/js/a84996eb.2f921797.js
new file mode 100644
index 0000000..9973164
--- /dev/null
+++ b/assets/js/a84996eb.2f921797.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/a9dfc084.e0e3cce3.js b/assets/js/a9dfc084.e0e3cce3.js
new file mode 100644
index 0000000..dd46511
--- /dev/null
+++ b/assets/js/a9dfc084.e0e3cce3.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/abf89fc5.5866872d.js b/assets/js/abf89fc5.5866872d.js
new file mode 100644
index 0000000..0223564
--- /dev/null
+++ b/assets/js/abf89fc5.5866872d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8069],{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/b0207dc0.eb863847.js b/assets/js/b0207dc0.eb863847.js
new file mode 100644
index 0000000..2d11885
--- /dev/null
+++ b/assets/js/b0207dc0.eb863847.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5597],{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 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/b06a86ee.d0f52c2a.js b/assets/js/b06a86ee.d0f52c2a.js
new file mode 100644
index 0000000..bb6ef83
--- /dev/null
+++ b/assets/js/b06a86ee.d0f52c2a.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/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.0dda3e55.js b/assets/js/b2f554cd.0dda3e55.js
new file mode 100644
index 0000000..85a6852
--- /dev/null
+++ b/assets/js/b2f554cd.0dda3e55.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: New  [...]
\ 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/e3ac53b1.da34ffb5.js b/assets/js/e3ac53b1.da34ffb5.js
new file mode 100644
index 0000000..6c0f059
--- /dev/null
+++ b/assets/js/e3ac53b1.da34ffb5.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.0f0f7c93.js b/assets/js/fed7d42c.0f0f7c93.js
new file mode 100644
index 0000000..e29f3d9
--- /dev/null
+++ b/assets/js/fed7d42c.0f0f7c93.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.44cdc1fe.js b/assets/js/main.44cdc1fe.js
new file mode 100644
index 0000000..9b5d776
--- /dev/null
+++ b/assets/js/main.44cdc1fe.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.44cdc1fe.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.44cdc1fe.js.LICENSE.txt b/assets/js/main.44cdc1fe.js.LICENSE.txt
new file mode 100644
index 0000000..2c82639
--- /dev/null
+++ b/assets/js/main.44cdc1fe.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.d01c3e43.js b/assets/js/runtime~main.d01c3e43.js
new file mode 100644
index 0000000..6d510a3
--- /dev/null
+++ b/assets/js/runtime~main.d01c3e43.js
@@ -0,0 +1 @@
+(()=>{"use strict";var e,a,t,f,r,c={},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 c[e].call(t.exports,t,t.exports,o),t.loaded=!0,t.exports}o.m=c,o.c=d,e=[],o.O=(a,t,f,r)=>{if(!t){var c=1/0;for(i=0;i<e.length;i++){t=e[i][0],f=e[i][1],r=e[i][2];for(var d=!0,b=0;b<t.length;b++)(!1&r||c>=r)&&Object.keys(o.O).every((e=>o.O[e](t[b])))?t.splice(b--,1):(d=!1,r<c&&(c=r));if(d){e.splice(i--,1);var n=f();void 0!==n&&(a=n)}}return a}r=r| [...]
\ 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..d6bde0a
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..1e346a3
--- /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 d [...]
+<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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..3a536a5
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..1a7b888
--- /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[<h1>Uniffle: A new chapter for the shuffle in Cloud Native Era</h1><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 direct [...]
+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..229ef57
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..3cb5c1d
--- /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[<h1>Uniffle: A new chapter for the shuffle in Cloud Native Era</h1><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 direct [...]
+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..c332b6a
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..46451cb
--- /dev/null
+++ b/community/how-to-release/index.html
@@ -0,0 +1,27 @@
+<!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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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 [...]
+For example: 1.0.3-RC1 version is voted, if the vote is passed without any problems, the RC1 version material will be released as the final version material.
+If there is a problem (when voting in the uniffle/incubator community, voters will strictly check various release requirements and compliance issues) and need to be corrected. After the correction, the vote will be re-initiated. The candidate version for the next vote is 1.0.3- RC2.</p><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code la [...]
+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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..bb73993
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..0a47d9e
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..4e8e7a4
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..995686e
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..9993159
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..cb5ff15
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..2778469
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..dccea39
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..c4629b2
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..f3cb092
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..51be076
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..ae00478
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..8561a29
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..783fe53
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.7.1 (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.7.1"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Release Notes 0.7.1</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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..a358d93
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..e79a58c
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..2bb47ce
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..e8cfebf
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..ad3875d
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..045241c
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..ba1886d
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.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..8e24e9c
--- /dev/null
+++ b/search-index.json
@@ -0,0 +1 @@
+[{"documents":[{"i":1,"t":"2022 summary","u":"/blog/2023/01/09/2022 summary","b":["Blog"]},{"i":14,"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":81,"t":"","u":"/blog/archive","b":["Blog"]},{"i":82,"t":"Uniffle Shuffle Client Guide","u":"/docs/client-guide","b":["Docs"]},{"i":106,"t":"Build Notes","u":"/docs/build","b":["Docs"]},{"i":126,"t":"Uniffle Coordinator Guid [...]
\ No newline at end of file
diff --git a/search/index.html b/search/index.html
new file mode 100644
index 0000000..79cfe04
--- /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.d01c3e43.js" as="script">
+<link rel="preload" href="/assets/js/main.44cdc1fe.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.d01c3e43.js"></script>
+<script src="/assets/js/main.44cdc1fe.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/sitemap.xml b/sitemap.xml
new file mode 100644
index 0000000..ee0e7f4
--- /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..b8beca4
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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-19961714e3381cf27bf55e28bd212b00.png b/zh-CN/assets/images/architecture-19961714e3381cf27bf55e28bd212b00.png
new file mode 100644
index 0000000..e3047c5
Binary files /dev/null and b/zh-CN/assets/images/architecture-19961714e3381cf27bf55e28bd212b00.png differ
diff --git a/zh-CN/assets/images/data_read-31232b8cea5323ffee089e8667ad6226.png b/zh-CN/assets/images/data_read-31232b8cea5323ffee089e8667ad6226.png
new file mode 100644
index 0000000..ecfffc4
Binary files /dev/null and b/zh-CN/assets/images/data_read-31232b8cea5323ffee089e8667ad6226.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-8716b86a955947ccd6243028edd3e0b6.png b/zh-CN/assets/images/hdfs_fallback-8716b86a955947ccd6243028edd3e0b6.png
new file mode 100644
index 0000000..2122fc3
Binary files /dev/null and b/zh-CN/assets/images/hdfs_fallback-8716b86a955947ccd6243028edd3e0b6.png differ
diff --git a/zh-CN/assets/images/io_random-93469fcb7b6d912b25abeb3ec2f9b48d.png b/zh-CN/assets/images/io_random-93469fcb7b6d912b25abeb3ec2f9b48d.png
new file mode 100644
index 0000000..753abe4
Binary files /dev/null and b/zh-CN/assets/images/io_random-93469fcb7b6d912b25abeb3ec2f9b48d.png differ
diff --git a/zh-CN/assets/images/io_sort-4e4445257d6dfd93fcbd173db1ad15ea.png b/zh-CN/assets/images/io_sort-4e4445257d6dfd93fcbd173db1ad15ea.png
new file mode 100644
index 0000000..208d6cc
Binary files /dev/null and b/zh-CN/assets/images/io_sort-4e4445257d6dfd93fcbd173db1ad15ea.png differ
diff --git a/zh-CN/assets/images/metadata-b4e7588ef03930e4cfdec890e9324e2b.png b/zh-CN/assets/images/metadata-b4e7588ef03930e4cfdec890e9324e2b.png
new file mode 100644
index 0000000..4935a1c
Binary files /dev/null and b/zh-CN/assets/images/metadata-b4e7588ef03930e4cfdec890e9324e2b.png differ
diff --git a/zh-CN/assets/images/process-926f89bbddc4b91bcccbb0e3c019025c.png b/zh-CN/assets/images/process-926f89bbddc4b91bcccbb0e3c019025c.png
new file mode 100644
index 0000000..df70a3d
Binary files /dev/null and b/zh-CN/assets/images/process-926f89bbddc4b91bcccbb0e3c019025c.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-bbfd10c777e86778f62df639415151e3.png b/zh-CN/assets/images/select-bbfd10c777e86778f62df639415151e3.png
new file mode 100644
index 0000000..5224d18
Binary files /dev/null and b/zh-CN/assets/images/select-bbfd10c777e86778f62df639415151e3.png differ
diff --git a/zh-CN/assets/js/04b1c040.f375d7e0.js b/zh-CN/assets/js/04b1c040.f375d7e0.js
new file mode 100644
index 0000000..6879805
--- /dev/null
+++ b/zh-CN/assets/js/04b1c040.f375d7e0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4118],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>f});var a=t(7294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function o( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/0a4b8562.595995b2.js b/zh-CN/assets/js/0a4b8562.595995b2.js
new file mode 100644
index 0000000..22e69da
--- /dev/null
+++ b/zh-CN/assets/js/0a4b8562.595995b2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7235],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>d});var i=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 a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o( [...]
\ 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/1df93b7f.ae4a6841.js b/zh-CN/assets/js/1df93b7f.ae4a6841.js
new file mode 100644
index 0000000..75bb72d
--- /dev/null
+++ b/zh-CN/assets/js/1df93b7f.ae4a6841.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3237],{8391:(e,t,n)=>{n.r(t),n.d(t,{default:()=>E});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/zh-CN/assets/js/236d553a.e916dbe9.js b/zh-CN/assets/js/236d553a.e916dbe9.js
new file mode 100644
index 0000000..f5c9e84
--- /dev/null
+++ b/zh-CN/assets/js/236d553a.e916dbe9.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.0f244279.js b/zh-CN/assets/js/26991455.0f244279.js
new file mode 100644
index 0000000..178f889
--- /dev/null
+++ b/zh-CN/assets/js/26991455.0f244279.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8659],{3905:(t,e,n)=>{n.d(e,{Zo:()=>m,kt:()=>y});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 o( [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/306a8c6c.496c9eb6.js b/zh-CN/assets/js/306a8c6c.496c9eb6.js
new file mode 100644
index 0000000..b92b914
--- /dev/null
+++ b/zh-CN/assets/js/306a8c6c.496c9eb6.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.16722416.js b/zh-CN/assets/js/315cc475.16722416.js
new file mode 100644
index 0000000..d0552f8
--- /dev/null
+++ b/zh-CN/assets/js/315cc475.16722416.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.a07031a7.js b/zh-CN/assets/js/3a51d15f.a07031a7.js
new file mode 100644
index 0000000..a62e19b
--- /dev/null
+++ b/zh-CN/assets/js/3a51d15f.a07031a7.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/492d57dd.595e033a.js b/zh-CN/assets/js/492d57dd.595e033a.js
new file mode 100644
index 0000000..eabce0f
--- /dev/null
+++ b/zh-CN/assets/js/492d57dd.595e033a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[778],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>d});var i=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 a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e [...]
\ 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.fa7acea4.js b/zh-CN/assets/js/4f36484c.fa7acea4.js
new file mode 100644
index 0000000..085768d
--- /dev/null
+++ b/zh-CN/assets/js/4f36484c.fa7acea4.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.587660d0.js b/zh-CN/assets/js/50bc71d4.587660d0.js
new file mode 100644
index 0000000..c3ce14a
--- /dev/null
+++ b/zh-CN/assets/js/50bc71d4.587660d0.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/blog/2023-07-21/Uniffl [...]
\ 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.d8240665.js b/zh-CN/assets/js/5fd98138.d8240665.js
new file mode 100644
index 0000000..de545dd
--- /dev/null
+++ b/zh-CN/assets/js/5fd98138.d8240665.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 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/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/814f3328.0b31ac5a.js b/zh-CN/assets/js/814f3328.0b31ac5a.js
new file mode 100644
index 0000000..90fc5be
--- /dev/null
+++ b/zh-CN/assets/js/814f3328.0b31ac5a.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/87409331.3d580464.js b/zh-CN/assets/js/87409331.3d580464.js
new file mode 100644
index 0000000..fcac9c0
--- /dev/null
+++ b/zh-CN/assets/js/87409331.3d580464.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6562],{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/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.82bfe3c4.js b/zh-CN/assets/js/90536160.82bfe3c4.js
new file mode 100644
index 0000000..96f2260
--- /dev/null
+++ b/zh-CN/assets/js/90536160.82bfe3c4.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.887f047c.js b/zh-CN/assets/js/935f2afb.887f047c.js
new file mode 100644
index 0000000..cb0ed32
--- /dev/null
+++ b/zh-CN/assets/js/935f2afb.887f047c.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":"/zh-CN/docs/intro","docId":"intro"},{"type":"link","label":"Uniffle Shuffle Client Guide","href":"/zh-CN/docs/client-guide","docId":"client-guide"},{"type": [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/93ca4beb.9850ce8c.js b/zh-CN/assets/js/93ca4beb.9850ce8c.js
new file mode 100644
index 0000000..41a3657
--- /dev/null
+++ b/zh-CN/assets/js/93ca4beb.9850ce8c.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.7.1","href":"/zh-CN/download/release-notes-0.7.1","docId":"release-notes-0. [...]
\ No newline at end of file
diff --git a/zh-CN/assets/js/94b8b27b.56dbb547.js b/zh-CN/assets/js/94b8b27b.56dbb547.js
new file mode 100644
index 0000000..e126b80
--- /dev/null
+++ b/zh-CN/assets/js/94b8b27b.56dbb547.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.332cc25c.js b/zh-CN/assets/js/96f77003.332cc25c.js
new file mode 100644
index 0000000..f8ae83c
--- /dev/null
+++ b/zh-CN/assets/js/96f77003.332cc25c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2072],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,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 o(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/9a0f4242.2cff81d4.js b/zh-CN/assets/js/9a0f4242.2cff81d4.js
new file mode 100644
index 0000000..c57f21e
--- /dev/null
+++ b/zh-CN/assets/js/9a0f4242.2cff81d4.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.5ffff613.js b/zh-CN/assets/js/a84996eb.5ffff613.js
new file mode 100644
index 0000000..4c0cc7b
--- /dev/null
+++ b/zh-CN/assets/js/a84996eb.5ffff613.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/a9dfc084.d014125a.js b/zh-CN/assets/js/a9dfc084.d014125a.js
new file mode 100644
index 0000000..622adb2
--- /dev/null
+++ b/zh-CN/assets/js/a9dfc084.d014125a.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/abf89fc5.5ecd5be4.js b/zh-CN/assets/js/abf89fc5.5ecd5be4.js
new file mode 100644
index 0000000..9c6f362
--- /dev/null
+++ b/zh-CN/assets/js/abf89fc5.5ecd5be4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8069],{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/zh-CN/assets/js/b0207dc0.177641f2.js b/zh-CN/assets/js/b0207dc0.177641f2.js
new file mode 100644
index 0000000..6f8072c
--- /dev/null
+++ b/zh-CN/assets/js/b0207dc0.177641f2.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5597],{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/b06a86ee.ec21f6f9.js b/zh-CN/assets/js/b06a86ee.ec21f6f9.js
new file mode 100644
index 0000000..b17a72e
--- /dev/null
+++ b/zh-CN/assets/js/b06a86ee.ec21f6f9.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/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/e3ac53b1.0a57b332.js b/zh-CN/assets/js/e3ac53b1.0a57b332.js
new file mode 100644
index 0000000..45a1c69
--- /dev/null
+++ b/zh-CN/assets/js/e3ac53b1.0a57b332.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/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/fed7d42c.fe52cbba.js b/zh-CN/assets/js/fed7d42c.fe52cbba.js
new file mode 100644
index 0000000..0261c9a
--- /dev/null
+++ b/zh-CN/assets/js/fed7d42c.fe52cbba.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/zh-CN/assets/js/main.b7fc9d0e.js b/zh-CN/assets/js/main.b7fc9d0e.js
new file mode 100644
index 0000000..b807b66
--- /dev/null
+++ b/zh-CN/assets/js/main.b7fc9d0e.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.b7fc9d0e.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.b7fc9d0e.js.LICENSE.txt b/zh-CN/assets/js/main.b7fc9d0e.js.LICENSE.txt
new file mode 100644
index 0000000..2c82639
--- /dev/null
+++ b/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js b/zh-CN/assets/js/runtime~main.2a597e11.js
new file mode 100644
index 0000000..717c585
--- /dev/null
+++ b/zh-CN/assets/js/runtime~main.2a597e11.js
@@ -0,0 +1 @@
+(()=>{"use strict";var e,a,t,r,f,c={},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 c[e].call(t.exports,t,t.exports,o),t.loaded=!0,t.exports}o.m=c,o.c=d,e=[],o.O=(a,t,r,f)=>{if(!t){var c=1/0;for(i=0;i<e.length;i++){t=e[i][0],r=e[i][1],f=e[i][2];for(var d=!0,b=0;b<t.length;b++)(!1&f||c>=f)&&Object.keys(o.O).every((e=>o.O[e](t[b])))?t.splice(b--,1):(d=!1,f<c&&(c=f));if(d){e.splice(i--,1);var n=r();void 0!==n&&(a=n)}}return a}f=f| [...]
\ 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..563a0db
--- /dev/null
+++ b/zh-CN/blog/2023/01/09/2022 summary/index.html	
@@ -0,0 +1,23 @@
+<!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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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= [...]
+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="Community的直接链接" title="Community的直接链接">​</a></h2><p>Apache Uniffle (incubating) has added 22 contributors since entering the incubator [...]
+          <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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..dd94e89
--- /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,38 @@
+<!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-CN [...]
+<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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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= [...]
+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="Architecture的直接链接" title="Architecture的直接链接">​</a></h2><p><img loading="lazy" alt="Architecture" src="/zh [...]
+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="/zh-CN/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="/zh-CN/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="/zh-CN/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="8) Barrier-Free的直接链接" title="8) Barrier-Free的直接链接">​</a></h3><p>For batch processing in distributed computing frameworks, the commonly used model is the Bulk Synchronous Parallel (BSP) model. In this mod [...]
+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="Stability的直接链接" title="Stability的直接链接">​</a></h2><h3 class="anchor anchorWithS [...]
+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="/zh-CN/assets/js/runtime~main.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..328787c
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..b8359f3
--- /dev/null
+++ b/zh-CN/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/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[<h1>Uniffle: A new chapter for the shuffle in Cloud Native Era</h1><h2 class="anchor anchorWithStickyNavbar_LWe7" id="background">Background<a href="#background" class="hash-link" aria-label="Background的直接链接" title="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 per [...]
+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="Architecture的直接链接" title="Architecture的直接链接">​</a></h2><p><img loading="lazy" alt="Architecture" src="/zh [...]
+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="/zh-CN/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="/zh-CN/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="/zh-CN/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="8) Barrier-Free的直接链接" title="8) Barrier-Free的直接链接">​</a></h3><p>For batch processing in distributed computing frameworks, the commonly used model is the Bulk Synchronous Parallel (BSP) model. In this mod [...]
+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="Stability的直接链接" title="Stability的直接链接">​</a></h2><h3 class="anchor anchorWithS [...]
+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/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 summary</h1><h2 class="anchor anchorWithStickyNavbar_LWe7" id="introduction">Introduction<a href="#introduction" class="hash-link" aria-label="Introduction的直接链接" title="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. Since its donation, [...]
+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="Community的直接链接" title="Community的直接链接">​</a></h2><p>Apache Uniffle (incubating) has added 22 contributors since entering the incubator [...]
+    </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..ed1298a
--- /dev/null
+++ b/zh-CN/blog/index.html
@@ -0,0 +1,39 @@
+<!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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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= [...]
+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="Architecture的直接链接" title="Architecture的直接链接">​</a></h2><p><img loading="lazy" alt="Architecture" src="/zh [...]
+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="/zh-CN/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="/zh-CN/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="/zh-CN/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="8) Barrier-Free的直接链接" title="8) Barrier-Free的直接链接">​</a></h3><p>For batch processing in distributed computing frameworks, the commonly used model is the Bulk Synchronous Parallel (BSP) model. In this mod [...]
+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="Stability的直接链接" title="Stability的直接链接">​</a></h2><h3 class="anchor anchorWithS [...]
+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="Community的直接链接" title="Community的直接链接">​</a></h2><p>Apache Uniffle (incubating) has added 22 contributors since entering the incubator [...]
+          <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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..53dccb9
--- /dev/null
+++ b/zh-CN/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/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[<h1>Uniffle: A new chapter for the shuffle in Cloud Native Era</h1><h2 class="anchor anchorWithStickyNavbar_LWe7" id="background">Background<a href="#background" class="hash-link" aria-label="Background的直接链接" title="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 per [...]
+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="Architecture的直接链接" title="Architecture的直接链接">​</a></h2><p><img loading="lazy" alt="Architecture" src="/zh [...]
+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="/zh-CN/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="/zh-CN/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="/zh-CN/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="8) Barrier-Free的直接链接" title="8) Barrier-Free的直接链接">​</a></h3><p>For batch processing in distributed computing frameworks, the commonly used model is the Bulk Synchronous Parallel (BSP) model. In this mod [...]
+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="Stability的直接链接" title="Stability的直接链接">​</a></h2><h3 class="anchor anchorWithS [...]
+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/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 summary</h1><h2 class="anchor anchorWithStickyNavbar_LWe7" id="introduction">Introduction<a href="#introduction" class="hash-link" aria-label="Introduction的直接链接" title="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. Since its donation, [...]
+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="Community的直接链接" title="Community的直接链接">​</a></h2><p>Apache Uniffle (incubating) has added 22 contributors since entering the incubator [...]
+        </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..7c53090
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..6a9592b
--- /dev/null
+++ b/zh-CN/community/how-to-release/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-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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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 [...]
+For example: 1.0.3-RC1 version is voted, if the vote is passed without any problems, the RC1 version material will be released as the final version material.
+If there is a problem (when voting in the uniffle/incubator community, voters will strictly check various release requirements and compliance issues) and need to be corrected. After the correction, the vote will be re-initiated. The candidate version for the next vote is 1.0.3- RC2.</p><div class="language-shell codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code la [...]
+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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..05f21db
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..e3187fb
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..69cdf8b
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..e665df9
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..47a5844
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..1d09c01
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..0fd01d6
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..0a095ec
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..7eb8fe3
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..71eaeba
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..e7528d2
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..1c42c49
--- /dev/null
+++ b/zh-CN/docs/intro/index.html
@@ -0,0 +1,29 @@
+<!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">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/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=" [...]
+<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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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 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="Architecture的直接链接" title="Architecture的直接链接">​</a></h2><p><img loading="lazy" alt="Rss Architecture" src="/zh-CN/assets/ [...]
+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="/zh-CN/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</ [...]
+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="复制代码到剪贴 [...]
+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="Configuration的直接链接" title="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-label="Coordinator的直接链接 [...]
+          <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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..bbd60d7
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..f2194a0
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.7.1 (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.7.1"><div class="pagination-nav__sublabel">下一页</div><div class="pagination-nav__label">Release Notes 0.7.1</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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..f1b89b9
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..9fd5112
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..6deec6c
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..cb346dd
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..ad3875d
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..045241c
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..17940a3
--- /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">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/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  [...]
+<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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..ed18054
--- /dev/null
+++ b/zh-CN/search-index.json
@@ -0,0 +1 @@
+[{"documents":[{"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":342,"t":"","u":"/zh-CN/blog/archive","b":["博客"]},{"i":343,"t":"Build Notes","u":"/zh-CN/docs/build","b":["文档"]},{"i":363,"t":"Uniffle Shuffle Client Guide","u":"/zh-CN/docs/client-guide","b":["文档"]},{"i":387,"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..e417ea2
--- /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.2a597e11.js" as="script">
+<link rel="preload" href="/zh-CN/assets/js/main.b7fc9d0e.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.2a597e11.js"></script>
+<script src="/zh-CN/assets/js/main.b7fc9d0e.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..dd31f97
--- /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