BigData SQL: Apache Drill Key Features

One of the beauties of Apache Drills design and architecture is its extensibility. The logical plan can also be directly ingested into the system, if it is written as a DSL.
Apache Drill is designed from the ground up with well-designed APIs, having extensibility in mind . It supports the ability to write UDFs and allows a pluggable query language and the ability to write custom low-level operators. Apart from these, it also allows users to plug in new optimizers and to define scanners for new data sources and file formats.
One of the most highlighted features of Drill is its ability to read data sets with no schema defined up front, unlike Impala and Hive, in which schema definition is required before any query can be performed. Drill supports queries against unknown schemas, while the user has the flexibility to define a schema up front or allow Apache Drill to discover it. This almost achieves the holy grail of data warehousing, whereby you can avoid the whole ETL process of processing the data according to the schema before the data is used for analytics, reporting, or dashboards.
In short, the following is how Apache Drill is different when it comes to schemas:
• Apache Drill—schema discovery on the fly
• Relational Engines—schema on write
• Hive, Impala—schema on read
Drill has decentralized metadata, unlike Impala, so that it is not tied to a single Hive metastore for its metadata requirements. Queries can span tables from multiple Hive repositories, and the same query can refer to data sources from HBase or a distributed file store.