We’re very excited to announce the release of Apache Drill
0.4.0. This release is a developer preview
release and is the first in a series of monthly builds as Drill drives towards
Beta and GA. Although this is only the second
incubator release, the growth and strength of the Apache Drill community is already apparent. This release contains more than 800 JIRAs and 100,000 lines of new code from 40+ contributors in 15+ organizations.
Apache Drill was founded with the audacious goal of
redefining analytics for flexibility using modern data formats while
establishing a new benchmark for performance.
Rather than re-implementing technologies and approaches from 30 years
ago, Drill focuses on redefining the nature of data and metadata and strives to
combine SQL, NoSQL and document database approaches in a single set of query
capabilities. This release starts to deliver on these goals by allowing you to
start experimenting with Drill’s new instant, no-setup analysis paradigm.
At its core, Drill was designed for ease of use and
self-service data exploration. That
means little setup, embracing convention over configuration and allowing a user
to experiment on any platform. Unlike
most systems in the Hadoop ecosystem, Apache Drill is software that you can start using on your desktop in just a couple of minutes. Just find a JSON or CSV file that you want to
analyze, download Drill and execute your first query. For more details, see the Drill in 10 minutes section of the documentation.
This is a huge release that comes with a large number of changes and new features. Some highlights include:
- A new way to work with data and metadata including the first query engine to champion advanced Apache Parquet format files to support self-describing data, completely avoiding a central metadata repository.
- A completely new columnar
execution engine that leverages both runtime code compilation and advanced
memory management for query execution.
- Advanced cost-based query
optimization that works with or without stats providing complex distributed
- Focus on full SQL capability with
support for correlated subqueries, complex subexpressions and scalar subqueries.
- The first query engine to support
JSON everything, enabling instant analysis of semi-structured and partially
schemed data without setup or extra effort.
- Full complex data semantics
access and interact with complex fields and data structures. This includes support for exact
Decimal, Date, Time and Interval types.
- In-query dynamic schema discovery
allows you to redefine blob fields as complex objects, using advanced
CONVERT_FROM and CONVERT_TO semantics.
- Support for more than 150 data
formats and thousands of existing function libraries through strong integration
with Hive Serdes and UDFs.
- Additional support for high
performance native Drill storage plugins and UDFs.
- A friendly web interface with query
and profiling tools including an advanced query plan visualizer and
execution flow visualizations.
- A complete set of interfaces and APIs
including support for JDBC, C++, Java, ODBC*, REST and CLI
- Advanced dynamic analysis
capabilities on top of HBase including dynamic schema discovery, high speed
parallel scanning and operator pushdown.
- Support for in-memory and beyond
memory datasets with an multi-staged innovative sort algorithm that produces
faster time to first record sorting than traditional query engines.
- Ability to meet query SLAs and
avoid resource starvation with multiple query resource queues.
- Support for wide rows with
thousands of columns within a single query.
- An advanced modular design with
extensibility points at storage, query, planning and operator execution to work
for a large set of standalone or embedded setups.
- Full scaling: run embedded on
Linux, Mac or PC for development purposes or scale up to a full cluster on any
- Support for use of Zookeeper and
HBase for Drill configuration and profiling management.
- The only open source distributed
query engine architected to work with all types of big data, not just Hadoop
- Lots more that you can read about by
reviewing the Apache Drill Wiki
Be forewarned: this release is a developer preview release, so you’ll see lots of sharp edges and bugs. This release also has a large amount of debugging options enabled and a number of performance optimizations disabled. We recommend against using this release for anything more than initial experimentation. We’re now rolling out monthly releases so you can get a flavor for Drill now and start evaluating it for production use cases in the next couple of months.
Thanks to all the people and supporting organizations who have worked to help create this release. Together, we’ll enable better, faster decisions while making analysts’ lives easier.
-The Apache Drill Team