<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1" />
    <title>Continuous Machine Learning, Scalable Deep Learning - Apache Ignite</title>
    <meta
      name="description"
      content="Apache Ignite Machine Learning is a set of simple and efficient APIs to enable continuous learning. It relies on Ignite's multi-tier storage that bring massive scalability for machine learning and deep learning tasks."
    />
    <link rel="canonical" href="https://ignite.apache.org/features/machinelearning.html" />
    <meta property="og:title" content="Continuous Machine Learning, Scalable Deep Learning - Apache Ignite" />
    <meta property="og:type" content="article" />
    <meta property="og:url" content="https://ignite.apache.org/features/machinelearning.html" />
    <meta property="og:image" content="/img/og-pic.png" />
    <meta
      property="og:description"
      content="Apache Ignite Machine Learning is a set of simple and efficient APIs to enable continuous learning. It relies on Ignite's multi-tier storage that bring massive scalability for machine learning and deep learning tasks."
    />
    <link rel="stylesheet" href="/js/vendor/hystmodal/hystmodal.min.css?ver=0.4" />
    <link rel="stylesheet" href="/css/utils.css?ver=0.4" />
    <link rel="stylesheet" href="/css/site.css?ver=0.4" />
    <link rel="stylesheet" href="../css/native-persistence.css?ver=0.4" />
    <link rel="stylesheet" href="../css/compute-apis.css?ver=0.4" />
    <link rel="stylesheet" href="../css/machinelearning.css?ver=0.4" />
    <link rel="stylesheet" href="/css/media.css?ver=0.4" media="only screen and (max-width:1199px)" />
    <link rel="icon" type="image/png" href="/img/favicon.png" />
  </head>
  <body>
    <!-- Yandex.Metrika counter -->
    <script type="text/javascript">
      (function (m, e, t, r, i, k, a) {
        m[i] =
          m[i] ||
          function () {
            (m[i].a = m[i].a || []).push(arguments);
          };
        m[i].l = 1 * new Date();
        (k = e.createElement(t)), (a = e.getElementsByTagName(t)[0]), (k.async = 1), (k.src = r), a.parentNode.insertBefore(k, a);
      })(window, document, 'script', 'https://mc.yandex.ru/metrika/tag.js', 'ym');

      ym(72949126, 'init', {
        clickmap: true,
        trackLinks: true,
        accurateTrackBounce: true,
        webvisor: true,
      });
    </script>
    <noscript
      ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
    ></noscript>
    <!-- /Yandex.Metrika counter --><!-- MOBILE MENU START -->
    <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
      <div class="hystmodal__wrap">
        <div class="hystmodal__window mobmenu" role="dialog" aria-modal="true">
          <button data-hystclose class="hystmodal__close">Close</button>
          <div class="mobmenu__wrap">
            <a href="/" class="mobmenu__logo"><img src="/img/logo.svg" alt="Логотип" /></a>
            <div class="mobmenu__menu">
              <ul>
                <li>
                  <a href="/resources.html">Resources</a>
                </li>
                <li>
                  <a href="/faq.html">FAQ</a>
                </li>
                <li>
                  <span class="mobmenu__parent"> <a href="/use-cases.html">Use Cases</a><button class="mobmenu__opener"></button> </span>
                  <ul>
                    <li>
                      <a href="/use-cases/in-memory-cache.html">In-Memory Cache</a>
                    </li>
                    <li>
                      <a href="/use-cases/in-memory-data-grid.html">In-Memory Data Grid</a>
                    </li>
                    <li>
                      <a href="/use-cases/in-memory-database.html">In-Memory Database</a>
                    </li>
                    <li>
                      <a href="/use-cases/key-value-store.html">Key-Value Store</a>
                    </li>
                    <li>
                      <a href="/use-cases/high-performance-computing.html">High Performance Computing</a>
                    </li>
                    <li>
                      <a href="/use-cases/digital-integration-hub.html">Digital Integration Hub</a>
                    </li>
                    <li>
                      <a href="/use-cases/spark-acceleration.html">Spark Acceleration</a>
                    </li>
                    <li>
                      <a href="/use-cases/hadoop-acceleration.html">Hadoop Acceleration</a>
                    </li>
                  </ul>
                </li>

                <li>
                  <span class="mobmenu__parent"> <a href="/features/">Features</a><button class="mobmenu__opener"></button> </span>
                  <ul>
                    <li>
                      <a href="/arch/multi-tier-storage.html">Multi-Tier Storage</a>
                    </li>
                    <li>
                      <a href="/arch/native-persistence.html">Native Persistence</a>
                    </li>
                    <li>
                      <a href="/features/sql.html">Distributed SQL</a>
                    </li>
                    <li>
                      <a href="/features/key-value-apis.html">Key-Value APIs</a>
                    </li>
                    <li>
                      <a href="/features/acid-transactions.html">ACID Transactions</a>
                    </li>
                    <li>
                      <a href="/features/compute-apis.html">Compute APIs</a>
                    </li>
                    <li>
                      <a href="/features/service-apis.html">Services</a>
                    </li>
                    <li>
                      <a href="/features/machinelearning.html">Machine Learning</a>
                    </li>
                    <li>
                      <a href="/features/streaming.html">Real-Time Streaming APIs</a>
                    </li>
                    <li>
                      <a href="/docs/latest/messaging">Messaging</a>
                    </li>
                    <li>
                      <a href="/docs/latest/key-value-api/continuous-queries">Continuous Queries</a>
                    </li>
                  </ul>
                </li>

                <li>
                  <a href="/community.html">Community</a>
                  <ul class="isdefault">
                    <li><a href="/community.html">Project Info</a></li>
                    <li><a href="/events.html">Events</a></li>
                  </ul>
                </li>
                <li>
                  <a href="/use-cases/provenusecases.html">Powered by</a>
                </li>
                <li>
                  <a href="/docs/latest/">Docs</a>
                </li>
              </ul>
              <a href="/docs/latest/" class="mobmenu__quikstart bluelink">Quick Start</a>
              <a href="/download.cgi" class="button mobmenu__button">Download Ignite 2.11</a>
            </div>
            <!-- //mobmenu__menu -->
          </div>
          <!-- //mobmenu__wrap -->
        </div>
        <!-- //mobmenu -->
      </div>
    </div>
    <!-- MOBILE MENU END -->
    <header class="hdr hdr__blue jsHdrBase">
      <div class="hdr__wrap flexi jsHdrLine">
        <button class="hdr__burger" data-menumodal="#jsMenuModal"><img src="/img/menu.svg" alt="" /></button
        ><a class="hdr__logo" href="/"><img class="hdr__logoimg hdr__logo--white" src="/img/logo-white.svg" alt="" /><img class="hdr__logoimg hdr__logo--black" src="/img/logo.svg" alt="" /></a
        ><a class="button hdr__button" href="/download.cgi">Download Ignite 2.11 </a>
        <nav class="hdrmenu">
          <ul class="flexi">
            <li class="js-hasdrop"><a class="hdrmenu--expanded" href="/" data-panel="getStarted">Get Started</a></li>
            <li class="js-hasdrop"><a class="hdrmenu__current hdrmenu--expanded" href="/features" data-panel="features">Features</a></li>
            <li class="js-hasdrop"><a class="hdrmenu--expanded" href="/community.html" data-panel="community">Community</a></li>
            <li><a href="/use-cases/provenusecases.html" data-panel="">Powered By</a></li>
            <li><a href="///ignite.apache.org/docs/latest/" data-panel="">Docs</a></li>
          </ul>
        </nav>
        <div class="dropmenu">
          <div class="dropmenu__panel" data-menupanel="getStarted">
            <div class="container dropmenu1__grid">
              <div class="dropmenu1__buttonwrap">&nbsp;</div>
              <div class="dropmenu__box dropmenu__box--buttonin">
                <a class="dropmenu__redbutton" href="https://ignite.apache.org/docs/latest/"> <img src="/img/menu/icon-red-rocket.svg" alt="" /><span>Quick Start Guide</span></a>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/resources.html"><img src="/img/menu/icon-resources.svg" alt="" /><span>Resources</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/faq.html"><img src="/img/menu/icon-question.svg" alt="" /><span>FAQ</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu__box">
                <p class="capstext"><a class="dropmenu__capslink" href="/use-cases.html">USE CASES</a></p>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/use-cases/in-memory-cache.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>In-Memory Cache</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/use-cases/in-memory-data-grid.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>In-Memory Data Grid</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/use-cases/in-memory-database.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>In-Memory Database</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/use-cases/key-value-store.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Key-Value Store</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu__box no-border">
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/use-cases/high-performance-computing.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>High-Performance Computing</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/use-cases/digital-integration-hub.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Digital Integration Hub</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/use-cases/spark-acceleration.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Spark Acceleration</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/use-cases/hadoop-acceleration.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Hadoop Acceleration</span></a>
                  </li>
                </ul>
              </div>
            </div>
            <!-- /.dropmenu1__grid-->
            <div class="panelmorelinkwrap panelmorelinkwrap--end container"><a class="panellink" href="/use-cases.html">View all</a></div>
          </div>
          <!-- /.dropmenu__panel-->
          <div class="dropmenu__panel" data-menupanel="features">
            <div class="container dropmenu2__grid">
              <div class="dropmenu__box">
                <div class="capstext">Distributed Multi-Tiered <br />Storage</div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/arch/multi-tier-storage.html"><img src="/img/menu/icon-db.svg" alt="" /><span>Multi-Tier Storage</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/arch/native-persistence.html"><img src="/img/menu/icon-db.svg" alt="" /><span>Native Persistence</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu__box">
                <div class="capstext">Essentail Developer APIs</div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/features/sql.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Distributed SQL</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/features/key-value-apis.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Key-Value APIs</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/features/acid-transactions.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>ACID Transactions</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu__box">
                <div class="capstext">High-Performance <br />Computing APIs</div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/features/compute-apis.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Compute APIs</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/features/service-apis.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Services</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/features/machinelearning.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Machine Learning</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu__box">
                <div class="capstext">Real Streaming APIs</div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/features/streaming.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Real-Time Streaming APIs</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="https://ignite.apache.org/docs/latest/messaging"><img src="/img/menu/icon-cube.svg" alt="" /><span>Messaging</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="https://ignite.apache.org/docs/latest/key-value-api/continuous-queries"><img src="/img/menu/icon-cube.svg" alt="" /><span>Continuous Queries</span></a>
                  </li>
                </ul>
              </div>
            </div>
            <!-- /.dropmenu2__grid-->
            <div class="panelmorelinkwrap"><a class="panellink" href="/features/">View all</a></div>
          </div>
          <!-- /.dropmenu__panel-2-->
          <div class="dropmenu__panel" data-menupanel="community">
            <div class="container dropmenu3__grid">
              <div class="dropmenu__box">
                <div class="capstext"><a class="dropmenu__capslink" href="/community.html">Project Info</a></div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/community.html#story"><img src="/img/menu/icon-clip.svg" alt="" /><span>Apache Ignite Story</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/community.html#community"><img src="/img/menu/icon-comment.svg" alt="" /><span>Meet The Community</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu__box no-border">
                <div class="capstext">&nbsp;</div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/community.html#contributing"><img src="/img/menu/icon-puzzle.svg" alt="" /><span>Start Contributing</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/community.html#faq"><img src="/img/menu/icon-question.svg" alt="" /><span>Ask Questions</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu__box">
                <div class="capstext"><a class="dropmenu__capslink" href="/events.html">Events</a></div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/events.html#summit"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Apache Ignite Summit</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/events.html#meetups"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Meetups</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu__box no-border">
                <div class="capstext">&nbsp;</div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/events.html#upcoming"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Upcoming Events</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/events.html#past"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Past Events</span></a>
                  </li>
                </ul>
              </div>
            </div>
            <!-- /.dropmenu3__grid-->
          </div>
          <!-- /.dropmenu__panel-->
        </div>
        <!-- /.dropmeu-->
      </div>
    </header>
    <div class="dropmenu__back"></div>
    <header class="hdrfloat hdr__white jsHdrFloatBase"></header>
    <section class="innerhero">
      <div class="container innerhero__cont">
        <div class="innerhero__main">
          <div class="innerhero__pre pb-3">Apache Ignite</div>
          <h1 class="h1 innerhero__h1">
            Machine Learning<br />
            APIs
          </h1>
          <div class="innerhero__descr pt-2 h5">
            Continuously train, execute and update your machine learning<br />
            models at scale and in real-time
          </div>
          <div class="innerhero__action"><a class="button innerhero__button" href="https://ignite.apache.org/docs/latest/index">Start Coding</a></div>
        </div>
        <img class="innerhero__pic innerhero__pic--machine" src="/img/features/machinelearning/machine.svg" alt="Machine-hero" />
      </div>
    </section>
    <!-- /.innerhero-->
    <section class="machine1">
      <div class="container">
        <div class="machine1__block flexi">
          <div class="machine1__info">
            <h2 class="compute2__h2">Ignite Machine Learning APIs Overview</h2>
            <p class="machine1__text pt-5">Ignite Machine Learning (ML) is a set of simple, scalable, and efficient tools that allow building predictive machine learning models without costly data transfers.</p>
            <h3 class="machine1__title machine-top">How does Apache Ignite support ML APIs?</h3>
            <p class="machine1__text">You have two options:</p>
            <div class="machine1__options flexi">
              <div class="machine1__option">
                <div class="machine1__number">01</div>
                <div class="machine1__subtext">Use built-in ML APIs for some of the typical ML and deep learning (DL) tasks, such as:</div>
                <div class="machine1__subtext flexi"><span>— Classification</span><span>— Regression</span><span> — Clustering</span><span>— Recommendation</span><span>— Preprocessing</span></div>
              </div>
              <div class="machine1__option">
                <div class="machine1__number">02</div>
                <div class="machine1__subtext">Use external ML and DL libraries that use Apache Ignite as scalable and high-performance distributed data storage:</div>
                <div class="machine1__subtext flexi"><span>— TensorFlow</span><span>— Scikit</span><span>— Spark</span><span>— And more</span></div>
              </div>
            </div>
          </div>
          <img class="machine1__image" src="/img/features/machinelearning/image.svg" alt="image" />
        </div>
      </div>
    </section>
    <section class="compute2">
      <div class="container">
        <h2 class="compute2__h2">Benefits of Apache Ignite Machine Learning APIs</h2>
        <div class="machineitem machineitem1 flexi">
          <h3 class="machine__title">Expedite the training process <br />with horizontally scalable cluster</h3>
          <div class="machine__info">
            <p class="machine__text">
              You can distribute your training data set over an unlimited number of cluster nodes and train your models with the speed of memory.<br />
              With built-in Ignite ML APIs, you:
            </p>
            <div class="machine__part flexi">
              <div class="compute2-points__item fz20"></div>
              <div class="machine__subtext">Avoid, or minimise ETL</div>
            </div>
            <div class="machine__part flexi">
              <div class="compute2-points__item fz20"></div>
              <div class="machine__subtext">Load all your training data sets in the same cluster</div>
            </div>
            <div class="machine__part flexi">
              <div class="compute2-points__item fz20"></div>
              <div class="machine__subtext">Minimise network utilization during the training process</div>
            </div>
          </div>
        </div>
        <div class="machineitem machineitem1 flexi">
          <h3 class="machine__title">Execute your ML models with in-memory speed from your application code</h3>
          <div class="machine__info"><p class="machine__text">Once the model is trained, deploy it on the cluster and execute it with in-memory speed. Use built-in Ignite APIs or 3rd party libraries.</p></div>
        </div>
        <div class="machineitem machineitem1 flexi">
          <h3 class="machine__title">Continue updating your models with new data in real-time</h3>
          <div class="machine__info">
            <p class="machine__text">Data and user behaviours change rapidly, so you always need to advance your models. With Apache Ignite, you can update your already deployed ML models with new data sets.</p>
          </div>
        </div>
      </div>
    </section>
    <!-- /.compute2-->
    <section class="native-bottom container">
      <div class="native-bottom__grid">
        <article class="nativebotblock">
          <div class="h4 nativebotblock__title"><img class="nativebotblock__icon" src="/img/features/native-rocket.svg" alt="" /><span>Ready to Start?</span></div>
          <p class="nativebotblock__text">Start coding machine learning APIs</p>
          <a class="nativebotblock__link arrowlink" href="https://ignite.apache.org/docs/latest/machine-learning/machine-learning" target="_blank">Performing Machine Learning</a>
        </article>
        <article class="nativebotblock nativebotblock--learn">
          <div class="h4 nativebotblock__title"><img class="nativebotblock__icon" src="/img/features/native-docs.svg" alt="" /><span>Want to Learn More?</span></div>
          <p class="nativebotblock__text">
            Check out how Apache Ignite updates<br />
            trained models in real time
          </p>
          <a class="nativebotblock__link arrowlink" href="https://ignite.apache.org/docs/latest/machine-learning/updating-trained-models" target="_blank">Updating Trained Models</a>
        </article>
      </div>
    </section>
    <footer class="footer">
      <div class="container footer__top">
        <section class="footer1">
          <a class="footer__title" href="/features/">Features</a>
          <ul class="footer__menu">
            <li><a href="/arch/multi-tier-storage.html">Multi-Tier Storage</a></li>
            <li><a href="/arch/native-persistence.html">Native Persistence</a></li>
            <li><a href="/features/sql.html">Distributed SQL</a></li>
            <li><a href="/features/acid-transactions.html">ACID Transactions</a></li>
            <li><a href="/features/key-value-apis.html">Key Value APIs</a></li>
            <li><a href="/features/compute-apis.html">Compute APIs</a></li>
            <li><a href="/features/machinelearning.html">Machine Learning</a></li>
            <li><a href="/features/service-apis.html">Services</a></li>
            <li><a href="/features/streaming.html">Streaming</a></li>
            <li><a href="https://ignite.apache.org/docs/latest/key-value-api/continuous-queries">Continuous Queries</a></li>
            <li><a href="https://ignite.apache.org/docs/latest/messaging">Messaging</a></li>
          </ul>
        </section>
        <section class="footer2">
          <a class="footer__title" href="/use-cases/">Use-Cases</a>
          <ul class="footer__menu">
            <li><a href="/use-cases/in-memory-cache.html">In-Memory Cache</a></li>
            <li><a href="/use-cases/in-memory-data-grid.html">In-Memory Data Grid</a></li>
            <li><a href="/use-cases/in-memory-database.html">In-Memory Database</a></li>
            <li><a href="/use-cases/high-performance-computing.html">High-Performance Computing</a></li>
            <li><a href="/use-cases/digital-integration-hub.html">Digital Integration Hub</a></li>
            <li><a href="/use-cases/key-value-store.html">Key-Value Store</a></li>
            <li><a href="/use-cases/spark-acceleration.html">Apache Spark Acceleration</a></li>
            <li><a href="/use-cases/hadoop-acceleration.html">Apache Hadoop Acceleration</a></li>
          </ul>
        </section>
        <section class="footer3"><a class="footer__title" href="/community.html">Community</a><a class="footer__title" href="/resources.html">Resources</a><a class="footer__title" href="/events.html">Events</a></section>
        <section class="footer4">
          <div class="footer4__item">Join Our <a href="mailto:dev@ignite.apache.org">Dev Mailing List</a></div>
          <div class="footer4__item pt-2">Or write your question</div>
          <div class="footer4__item pt-1">user@ignite.apache.org</div>
          <div class="footer4__item pt-5">Follow Us:</div>
          <div class="footer4__socwrap flexi pt-2">
            <a class="footer4__soc" href="https://github.com/apache/ignite" target="_blank"><img src="/img/icon-github.svg" alt="" /></a
            ><a class="footer4__soc" href="https://www.linkedin.com/showcase/apache-ignite/" target="_blank"><img src="/img/icon-linkedin.svg" alt="" /></a
            ><a class="footer4__soc" href="https://twitter.com/apacheignite" target="_blank"><img src="/img/icon-twitter.svg" alt="" /></a>
          </div>
          <a class="footer4__button button" href="https://ignite.apache.org/docs/latest/index">Start Uing Apache Ignite </a>
        </section>
      </div>
      <div class="container footer__bot">
        <p>© 2015 - 2021 <a href="http://www.apache.org/">The Apache Software Foundation.</a></p>
        <p class="pt-1x">Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are either registered trademarks or trademarks of The Apache Software Foundation</p>
        <p class="pt-1x"><a href="http://apache.org/foundation/policies/privacy.html">Privacy Policy</a></p>
      </div>
    </footer>
    <a class="scrollTop" href="#"
      ><svg class="feather feather-chevron-up" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <polyline points="18 15 12 9 6 15"></polyline></svg
    ></a>
    <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
    <script src="/js/vendor/smoothscroll.js"></script>
    <script src="/js/main.js?ver=0.4"></script>
  </body>
</html>
