Today I’m happy to announce the availability of the Drill 1.1 release. This release addresses 162 JIRAs on top of May’s 1.0 release. Highlights include:

Automatic Partitioning for Parquet Files

Drill now supports creating partitions automatically when using CREATE TABLE AS (CTAS) to generate Parquet files. By leveraging the unique capabilities of the Parquet file format, Drill is able provide this capability and still maintain data integrity and compatibility with all other systems that consume Parquet (a world’s first). This functionality can be exercised by utilizing the new PARTITION BY clause support.

Window Functions

Drill now has first-class support for SQL window Functions. This includes:

  • Aggregate Functions: AVG, COUNT, MAX, MIN, SUM
  • Ranking Functions: CUME_DIST, DENSE_RANK, PERCENT_RANK, RANK and ROW_NUMBER

The community has done an excellent job providing a comprehensive documentation so that you can start using window functions immediately.

Hive Storage Plugin Enhancements

We’ve enhanced Drill to work even better with Hive. We started by upgrading Drill’s support to work with Hive 1.0. In addition, Drill now provides a powerful new security feature called delegated Hive impersonation. Compatibility and performance are also improved with better data type support (including support for binary, tinyint and smallint data types) and better concurrency.

SQL UNION Improvements

We’ve enhanced support for SQL UNION functionality. Drill now supports both UNION and UNION ALL capabilities. We’ve also improved the query optimizer to better optimize plans that include the UNION clause.

New Features For Complex Data

Drill’s complex data capabilities continue to be the best in the market, now including support for COUNT aggregations on various types of complex objects. Also, Drill’s FLATTEN function now supports very large complex objects.

Improved JDBC Driver Compatibility

Apache Drill’s JDBC driver continues to improve. This includes a number of enhancements and fixes to better support JDBC tools including MicroStrategy, TIBCO Spotfire, JReport and SQuirreL.

The Apache Drill community now publishes the JDBC driver for easy inclusion in your application through the use of Maven coordinates. You can incorporate Drill’s JDBC driver into your application by downloading it directly or referencing the following coordinates within your Maven application.

<dependency>
  <groupId>org.apache.drill.exec</groupId>
  <artifactId>drill-jdbc-all</artifactId>
  <version>1.1.0</version>
</dependency>

MongoDB 3.0 Support

Drill now uses MongoDB’s latest Java driver and has enhanced connection pooling for better performance and resilience in large-scale deployments. Learn more about using the MongoDB plugin.

Many More Fixes

Drill includes a variety of other fixes and enhancements including:

  • Improvements for certain types of exists and correlated subqueries
  • Fixes for running Drill on Windows
  • Improvements in implicit casting capabilities in schemaless scenarios
  • Improvements in INFORMATION_SCHEMA
  • Fixes for the Web UI and the REST API

More Frequent Releases

The amazing Drill community continues to be the driving force behind these rapid iterative releases. Thanks to all the committers and contributors that made this release possible! The community’s goal continues to be maintaining a 4-6 release cycle throughout the summer. This means you will have many more enhancements to look for in the next few months. If you use Drill, want to, or want to help develop it, drop by in the community.

Download the Drill 1.1.0 release now and let us know your thoughts.

Drill On!
Jacques Nadeau