<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Impala</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="">

    <!-- Le styles -->
    <link href="css/bootstrap.css" rel="stylesheet">
       <style type="text/css">
      body {
        padding-top: 20px;
        padding-bottom: 40px;
      }

      /* Custom container */
      .container-narrow {
        margin: 0 auto;
        max-width: 700px;
      }
      .container-narrow > hr {
        margin: 30px 0;
      }

      /* Main marketing message and sign up button */
      .jumbotron {
        margin: 60px 0;
        text-align: center;
      }
      .jumbotron h1 {
        font-size: 72px;
        line-height: 1;
      }
      .jumbotron .btn {
        font-size: 21px;
        padding: 14px 24px;
      }

      /* Supporting marketing content */
      .marketing {
        margin: 60px 0;
      }
      .marketing p + h4 {
        margin-top: 28px;
      }
      /* Customize the navbar links to be fill the entire space of the .navbar */
      .navbar .navbar-inner {
        padding: 0;
      }
      .navbar .nav {
        margin: 0;
        display: table;
        width: 100%;
      }
      .navbar .nav li {
        display: table-cell;
        width: 1%;
        float: none;
      }
      .navbar .nav li a {
        font-weight: bold;
        text-align: center;
        border-left: 1px solid rgba(255,255,255,.75);
        border-right: 1px solid rgba(0,0,0,.1);
      }
      .navbar .nav li:first-child a {
        border-left: 0;
        border-radius: 3px 0 0 3px;
      }
      .navbar .nav li:last-child a {
        border-right: 0;
        border-radius: 0 3px 3px 0;
      }
    </style>
    <link href="css/bootstrap-responsive.css" rel="stylesheet">

    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
    <!--[if lt IE 9]>
      <script src="js/html5shiv.js"></script>
    <![endif]-->
    <script src="js/jquery-3.5.1.min.js"></script>
    <script src="js/bootstrap-3.3.5.min.js"></script>
  </head>

  <body>

    <div class="container">

      <div class="masthead">
       <h3 class="muted">Apache Impala</h3>
        <div class="navbar">
          <div class="navbar-inner">
           <div class="container">
              <ul class="nav">
         <li><a href="index.html">Home</a></li>
         <li><a href="downloads.html">Downloads</a></li>
         <li><a href="overview.html">Overview</a></li>
          <li><a href="https://cwiki.apache.org/confluence/display/IMPALA/Contributing+to+Impala">Contribute</a></li>
          <li class="dropdown">
            <a href='#' class="dropdown-toggle" data-toggle="dropdown" role="button">
              Source code
            </a>
            <ul class="dropdown-menu">
              <li><a href="https://git-wip-us.apache.org/repos/asf/impala.git">Official source</a></li>
              <li><a href="https://github.com/apache/impala">GitHub mirror</a></li>
            </ul>
          </li>
          <li><a href="community.html">Community</a></li>
          <li class="active"><a href="impala-docs.html">Documentation</a></li>
        </ul>
      </div>
      </div>

     <div class="row">
    <div class="span12"><h2>Documentation</h2>
    </div>
    </div>

    <!-- Retain only the latest version's HTML documentation so that Google search
         results don't present older versions. Do not remove the old
         documentation until the new is ready. All change logs can be
         preserved. -->

    <div class="row">
      <div class="span12"><h3>Latest Releases</h3>
        <p>Impala 4.3.0
          <ul>
            <li><a href="docs/changelog-4.3.0.html">Impala 4.3.0 Change Log</a></li>
            <li><a href="docs/build/plain-html/index.html">HTML Documentation for Impala 4.3</a></li>
            <li><a href="docs/build/asf-site-html/topics/impala_intro.html">Formatted HTML Documentation for Impala 4.3</a></li>
            <li><a href="docs/build/impala-4.3.pdf">PDF Documentation for Impala 4.3</a></li>
          </ul>
        </p>
        <p>Impala 4.1.2
          <ul>
            <li><a href="docs/changelog-4.1.2.html">Impala 4.1.2 Change Log</a></li>
            <li><a href="docs/build/impala-4.1.pdf">PDF Documentation for Impala 4.1</a></li>
          </ul>
        </p>
        <p>Impala 3.4.1
          <ul>
            <li><a href="docs/changelog-3.4.1.html">Impala 3.4.1 Change Log</a></li>
            <li><a href="docs/build/impala-3.4.pdf">PDF Documentation for Impala 3.4.1</a></li>
          </ul>
        </p>
      </div>
    </div>

    <div class="row">
      <div class="span12"><h3>Older Releases</h3>
        <p>Impala 4.2.0
          <ul>
            <li><a href="docs/changelog-4.2.0.html">Impala 4.2.0 Change Log</a></li>
            <li><a href="docs/build/impala-4.2.pdf">PDF Documentation for Impala 4.2</a></li>
          </ul>
        </p>
        <p>Impala 4.1.1
          <ul>
            <li><a href="docs/changelog-4.1.1.html">Impala 4.1.1 Change Log</a></li>
            <li><a href="docs/build/impala-4.1.pdf">PDF Documentation for Impala 4.1</a></li>
          </ul>
        </p>
        <p>Impala 4.1.0
          <ul>
            <li><a href="docs/release-notes-4.1.html">Impala 4.1.0 Release Notes</a></li>
            <li><a href="docs/changelog-4.1.html">Impala 4.1.0 Change Log</a></li>
            <li><a href="docs/build/impala-4.1.pdf">PDF Documentation for Impala 4.1.0</a></li>
          </ul>
        </p>
        <p>Impala 4.0.0
          <ul>
            <li><a href="docs/release-notes-4.0.html">Impala 4.0.0 Release Notes</a></li>
            <li><a href="docs/changelog-4.0.html">Impala 4.0.0 Change Log</a></li>
            <li><a href="docs/build/impala-4.0.pdf">PDF Documentation for Impala 4.0.0</a></li>
          </ul>
        </p>
        <p>Impala 3.4.0
          <ul>
            <li><a href="docs/changelog-3.4.html">Impala 3.4.0 Change Log</a></li>
            <li><a href="docs/build/impala-3.4.pdf">PDF Documentation for Impala 3.4.0</a></li>
          </ul>
        </p>
        <p>Impala 3.3
          <ul>
            <li><a href="docs/changelog-3.3.html">Impala 3.3 Change Log</a></li>
            <li><a href="docs/build/impala-3.3.pdf">PDF Documentation for Impala 3.3</a></li>
          </ul>
        </p>
        <p>Impala 3.2
          <ul>
            <li><a href="docs/changelog-3.2.html">Impala 3.2 Change Log</a></li>
            <li><a href="docs/build/impala-3.2.pdf">PDF Documentation for Impala 3.2</a></li>
          </ul>
        </p>
        <p>Impala 3.1
          <ul>
            <li><a href="docs/changelog-3.1.html">Impala 3.1 Change Log</a></li>
            <li><a href="docs/build/impala-3.1.pdf">PDF Documentation for Impala 3.1</a></li>
          </ul>
        </p>
        <p>Impala 3.0
          <ul>
            <li><a href="docs/changelog-3.0.html">Impala 3.0 Change Log</a></li>
            <li><a href="docs/build3x/impala-3.0.pdf">PDF Documentation for Impala 3.0</a></li>
          </ul>
        </p>
        <p>Impala 2.12
          <ul>
            <li><a href="docs/changelog-2.12.html">Impala 2.12 Change Log</a></li>
            <li><a href="docs/build/impala-2.12.pdf">PDF Documentation for Impala 2.12</a></li>
          </ul>
        </p>
        <p>Impala 2.11
          <ul>
            <li><a href="docs/changelog-2.11.html">Impala 2.11 Change Log</a></li>
            <li><a href="docs/build/impala-2.11.pdf">PDF Documentation for Impala 2.11</a></li>
          </ul>
        </p>
        <p>Impala 2.10
          <ul>
            <li><a href="docs/changelog-2.10.html">Impala 2.10 Change Log</a></li>
            <li><a href="docs/build/impala-2.10.pdf">PDF Documentation for Impala 2.10</a></li>
          </ul>
        </p>
        <p>Impala 2.9
          <ul>
            <li><a href="docs/changelog-2.9.html">Impala 2.9 Change Log</a></li>
            <li><a href="docs/build/impala-2.9.pdf">PDF Documentation for Impala 2.9</a></li>
          </ul>
        </p>
        <p>Impala 2.8
          <ul>
            <li><a href="docs/changelog-2.8.html">Impala 2.8 Change Log</a></li>
            <li><a href="docs/build/impala-2.8.pdf">PDF Documentation for Impala 2.8</a></li>
          </ul>
      </div>
    </div>

     <div class="row">
    <div class="span12"><h3>Books About Impala</h3>
    <p>Below are the first books on the market about Impala.</p>
    </div>
    </div>
    <div class="row">
    <div class="span12">&nbsp;
    </div>
    </div>

  <div class="row">
        <div class="span4">
          <p class="text-center"><a href="http://shop.oreilly.com/product/0636920033936.do"><img src="img/getting-started-impala.jpg" alt="Getting Started with Impala" border="0"></a><p>
        <h4 align="center"><a href="http://shop.oreilly.com/product/0636920033936.do"><em>Getting Started with Impala</em></a></h4>
         <p class="text-center">by John Russell (O'Reilly Media, 2015)<br>
           Learn how to write, tune, and port SQL queries using Impala. </p>
          </div>



        <div class="span4">
          <p class="text-center"><a href="http://www.cloudera.com/content/cloudera/en/resources/library/aboutcloudera/cloudera-impala-ebook.html"><img src="img/oreilly-book.gif" alt="Cloudera Impala" border="0"></a><p>
        <h4 align="center"><a href="http://www.cloudera.com/content/cloudera/en/resources/library/aboutcloudera/cloudera-impala-ebook.html"><em>Cloudera Impala</em></a></h4>
         <p class="text-center">by John Russell (O'Reilly Media, 2013)<br>
          Compact primer for people from the RDBMS world. Also <a href="http://www.oreilly.co.jp/books/9784873116723/">in Japanese</a>.</p>
          </div>





 <div class="span4">
   <p class="text-center"><a href="http://www.packtpub.com/using-cloudera-impala/book"><img src="img/packt-book.png" alt="Learning Cloudera Impala" border="0"></a></p>
         <h4 align="center"><a href="http://www.packtpub.com/using-cloudera-impala/book"><em>Learning Cloudera Impala</em></a></h4>
   <p class="text-center">by Avkash Chauhan (Packt, 2014)<br>
   For Hadoop and Impala beginners.</p>
   </div>


    </div>

   <div class="row">
    <div class="span12">&nbsp;
    </div>
    </div>





      <div class="navbar">
        <div class="navbar-inner">
          <div class="container">

            <ul class="nav">
              <li><a href="https://www.apache.org/licenses/">License</a></li>
              <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
              <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
              <li><a href="https://www.apache.org/security/">Security</a></li>
              <li><a href="https://www.apache.org/">Apache Software Foundation</a></li>
            </ul>
          </div>
        </div>
      </div>

  <div class="footer">
    <center>
      <a href="http://www.apache.org/events/current-event.html">
        <img src="http://www.apache.org/events/current-event-234x60.png"/>
      </a>
    </center>
    <p>Apache Impala, Impala, Apache, the Apache feather logo, and the Apache Impala
    project logo are either registered trademarks or trademarks of The Apache Software
    Foundation in the United States and other countries.
    </p>
  </div>

  </body>
</html>
