We’re excited to announce that the community has just released Drill 0.8, which includes 243 resolved JIRAs and numerous enhancements such as:

  • Bytecode rewriting. Drill now leverages code optimization techniques such as bytecode rewriting and inlining to enhance the speed of many queries by reducing overall memory usage and CPU instructions.
  • Advanced partition pruning. Drill can now prune partitions based on arbitrarily complex expressions. For example, specify WHERE dir0 LIKE '2015-%' and your query will look inside the directory “2015-01” but not inside “2014-12”.
  • Real-time query diagnostics. You can now see exactly what your queries are doing in real-time, making it easy to troubleshoot, optimize and manage execution.
  • Large records, large # of files. Drill was previously limited to small records of up to 128KB. It now supports records of any size. In addition, query performance has been improved when dealing with large numbers of files thanks to a variety of optimizations such as parallel metadata reads.
  • More SQL. Drill now features complete support for UNION ALL and COUNT(DISTINCT). Drill 0.8 also includes new functions such as unix_timestamp and the window functions sum, count and rank. Note that these window functions should be considered beta.
  • Better compression. Drill can now query compressed JSON files. In addition, the user can control Parquet compression in CTAS (CREATE TABLE AS) statements.
  • Performance. Drill 0.8 includes broadcast joins, disk-based joins, parallel metadata reads and many other performance-related enhancements.
  • Reliability. Drill 0.8 includes a variety of fixes that improve the stability of the drillbit daemon, the sqlline shell and the ODBC and JDBC drivers.
  • HBase 0.98 support. You can now run SQL queries on any HBase 0.98 table.

You can now download Drill 0.8. As always, you may check out the official release notes for more details.

Happy Drilling!
Tomer Shiran and Jacques Nadeau