<!DOCTYPE html>
<html>

<head>

<meta charset="UTF-8">
<meta name=viewport content="width=device-width, initial-scale=1">


<title>Download - Apache Drill</title>

<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" type="text/css"/>
<link href='https://fonts.googleapis.com/css?family=PT+Sans' rel='stylesheet' type='text/css'/>
<link href="/css/site.css" rel="stylesheet" type="text/css"/>

<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/>
<link rel="icon" href="/favicon.ico" type="image/x-icon"/>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" language="javascript" type="text/javascript"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js" language="javascript" type="text/javascript"></script>
<script language="javascript" type="text/javascript" src="/js/modernizr.custom.js"></script>
<script language="javascript" type="text/javascript" src="/js/script.js"></script>
<script language="javascript" type="text/javascript" src="/js/drill.js"></script>

</head>


<body onResize="resized();">
  <div class="page-wrap">
    <div class="bui"></div>

<div id="menu" class="mw">
<ul>
  <li class='toc-categories'>
  <a class="expand-toc-icon" href="javascript:void(0);"><i class="fa fa-bars"></i></a>
  </li>
  <li class="logo"><a href="/"></a></li>
  <li class='expand-menu'>
  <a href="javascript:void(0);"><span class='menu-text'>Menu</span><span class='expand-icon'><i class="fa fa-bars"></i></span></a>
  </li>
  <li class="clear-float"></li>
  <li class="nav">
	<a>Language</a>
	<ul>
		
		<li>
			<a style="font-weight: bold;" href="/download/" >en</a>
		</li>
		
		<li>
			<a  href="/zh/download/" >zh</a>
		</li>
		
	</ul>
  </li>
  <li class="apache-link">
    <a href="/apacheASF/">Apache</a>
  </li>
  <li class="poweredby">
    <a href="/poweredBy">Powered By</a>
  </li>
  <li class="documentation-menu">
    <a href="/docs/">Documentation</a>
    <ul>
      
        <li><a href="/docs/getting-started/">Getting Started</a></li>
      
        <li><a href="/docs/architecture/">Architecture</a></li>
      
        <li><a href="/docs/tutorials/">Tutorials</a></li>
      
        <li><a href="/docs/drill-on-yarn/">Drill-on-YARN</a></li>
      
        <li><a href="/docs/install-drill/">Install Drill</a></li>
      
        <li><a href="/docs/configure-drill/">Configure Drill</a></li>
      
        <li><a href="/docs/connect-a-data-source/">Connect a Data Source</a></li>
      
        <li><a href="/docs/odbc-jdbc-interfaces/">ODBC/JDBC Interfaces</a></li>
      
        <li><a href="/docs/query-data/">Query Data</a></li>
      
        <li><a href="/docs/performance-tuning/">Performance Tuning</a></li>
      
        <li><a href="/docs/log-and-debug/">Log and Debug</a></li>
      
        <li><a href="/docs/sql-reference/">SQL Reference</a></li>
      
        <li><a href="/docs/data-sources-and-file-formats/">Data Sources and File Formats</a></li>
      
        <li><a href="/docs/develop-custom-functions/">Develop Custom Functions</a></li>
      
        <li><a href="/docs/troubleshooting/">Troubleshooting</a></li>
      
        <li><a href="/docs/developer-information/">Developer Information</a></li>
      
        <li><a href="/docs/release-notes/">Release Notes</a></li>
      
        <li><a href="/docs/sample-datasets/">Sample Datasets</a></li>
      
        <li><a href="/docs/project-bylaws/">Project Bylaws</a></li>
      
        <li><a href="/docs/ecosystem/">Ecosystem</a></li>
      
    </ul>
  </li>
  <li class='nav'>
    <a href="/community-resources/">Community</a>
    <ul>
      <li><a href="/team/">Team</a></li>
      <li><a href="/mailinglists/">Mailing Lists</a></li>
      <li><a href="/community-resources/">Community Resources</a></li>
    </ul>
  </li>
  <li class='nav'><a href="/faq/">FAQ</a></li>
  <li class='nav'><a href="/blog/">Blog</a></li>
  <li class="social-menu-item"><a href="https://twitter.com/apachedrill" title="apachedrill on twitter" target="_blank"><img src="/images/twitter_32_26_white.png" alt="twitter logo" align="center"></a> </li>
  <li class="social-menu-item"><a href="https://join.slack.com/t/apache-drill/shared_invite/enQtNTQ4MjM1MDA3MzQ2LTJlYmUxMTRkMmUwYmQ2NTllYmFmMjU4MDk0NjYwZjBmYjg0MDZmOTE2ZDg0ZjBlYmI3Yjc4Y2I2NTQyNGVlZTc" title="Apache Drill Slack channels"
      target="_blank"><img src="/images/slack-logo.svg" alt="Slack logo" align="center"></a> </li>
  <li class='search-bar'>
    <form id="drill-search-form">
      <input type="text" placeholder="Search Apache Drill" id="drill-search-term" />
      <button type="submit">
        <i class="fa fa-search"></i>
      </button>
    </form>
  </li>
  <li class="d">
    <a href="/download/">
      <i class="fa fa-cloud-download"></i> Download
    </a>
  </li>
</ul>
</div>

    <div class="int_title">
<h1>Download</h1>
  
</div>

<div class="int_text" align="left"><link href="/css/download.css" rel="stylesheet" type="text/css">
<p>Drill 1.19 was released on June 10, 2021.</p>

<div id="download_bar">
<div class="table">
<ul id="download_buttons">
<li><a href="https://www.apache.org/dyn/closer.cgi/drill/drill-1.19.0/apache-drill-1.19.0.tar.gz" class="find" id="apachemirror">Find an Apache Mirror</a></li>
<li><a href="https://www.apache.org/dyn/closer.lua?filename=drill/drill-1.19.0/apache-drill-1.19.0.tar.gz&action=download" class="dl" id="directdownload">Direct File Download</a></li>
<li><a href="/docs/interfaces-introduction/" class="dl">Client Drivers (ODBC/JDBC)</a></li>
</ul>
</div>
</div>

<p>Additional resources for Drill 1.19:</p>
<ul>
<li><a href="/blog/2021/06/10/drill-1.19-released">Blog post</a></li>
<li><a href="{{site.baseurl}}/docs/apache-drill-1-19-0-release-notes/">Release notes (JIRA)</a></li>
<li><a href="https://github.com/apache/drill/tree/1.19.0">Source code</a></li>
    <li>Verification Links:
        <ul>
            <li>
                <a href="https://www.apache.org/dist/drill/drill-1.19.0/apache-drill-1.19.0.tar.gz.sha512">SHA</a>
            </li>
            <li>
                <a href="https://www.apache.org/dist/drill/drill-1.19.0/apache-drill-1.19.0.tar.gz.asc">ASC</a>
            </li>
			<li>
                <a href="https://www.apache.org/dist/drill/KEYS">KEYS</a>
            </li>
			<li>
                <a href="https://www.apache.org/info/verification.html">How to Verify Downloaded Files</a>
            </li>
        </ul>
    </li>
</ul>

<p>If you're looking for an older release, see the <a href="/docs/release-notes/">release notes</a>.

<script type="text/javascript">
$('#directdownload').click(function(event) {
  ga('send', 'event', 'Downloads', 'Direct', 'Direct Download');
});
$('#apachemirror').click(function(event) {
  event.preventDefault();
  var link = $(this);
  ga('send', 'event', 'Downloads', 'Link', 'Apache Mirrors', {
    'hitCallback': function () {
      document.location = link.attr('href');
    }
  });
});
</script>
</div>

  </div>
  <p class="push"></p>
<div id="footer" class="mw">
<div class="wrapper">
Copyright © 2012-2020 The Apache Software Foundation, licensed under the Apache License, Version 2.0.<br>
Apache and the Apache feather logo are trademarks of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.<br/><br/>
</div>
</div>

  <script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-53379651-1', 'auto');
ga('send', 'pageview');
</script>
<script type="text/javascript" src="https://s7.addthis.com/js/300/addthis_widget.js#pubid=ra-548b2caa33765e8d" async="async"></script>

</body>
</html>
