Professional Documents
Culture Documents
©© 2015
2015 MapR
MapR Technologies
Technologies 1
Drill Supports Schema Discovery On-The-Fly
Flexibility
hobbies: [sing],
preschool: CCLC
}
CSV
Flat HBase RDBMS/SQL-on-Hadoop table
TSV
Name Gender Age
Michael M 6
Jennifer F 3
Flexibility
© 2015 MapR Technologies 3
Drill enables ‘SQL on Everything’
Workspace Table
- Sub-directory - Pathnames
- HBase namespace - Hive table
- Hive database - HBase table
… ZooKeeper
ZooKeeper
ZooKeeper
DataNode/Regi DataNode/Regi DataNode/Regi
onServer onServer onServer
Scale out
Columnar and Vectorized execution
Optimistic and pipelined execution (no MR, Spark, Tez)
Late binding
Extensible
© 2015 MapR Technologies 5
Drill allows reuse of existing SQL Tools and Skills
{JSON}, Parquet
Text Files …
…
Files Directories Hive HBase
Operational Apps
Sources
RELATIONAL, Batch Interactive Streaming
SAAS, (MapReduce, (Drill, (Spark Streaming, Recommendations
MAINFRAME Spark, Hive, Pig) Impala) Storm)
Fraud Detection
DOCUMENTS, MapR-DB MapR-FS
EMAILS
MAPR DISTRIBUTION FOR HADOOP Logistics
MapR Data Platform
BLOGS,
TWEETS, MAPR DISTRIBUTION FOR HADOOP
LINK DATA Analytics
Data Transformation, Enrichment Search
LOG FILES,
CLICKSTREAMS and Integration
SENSORS Schema-less
data exploration
BI, reporting
Ad-hoc integrated
DATA WAREHOUSE analytics
© 2015 MapR Technologies 8
Architecture – Under the hood
©© 2015
2015 MapR
MapR Technologies
Technologies 9
High Level Architecture
Cluster of commodity servers
– Daemon (drillbit) on each node
Zookeeper
DFS/HBase/H DFS/HBase/H DFS/HBase/H
ive ive ive
Storage Plugins
DFS
Physical Plan
Logical Plan
Hive
SQL Parser Optimizer Execution
HBase
MongoDB
• Columnar/Vectorized
• Optimistic/pipelined
• Runtime compilation
• Late binding
• Extensible
Logical Vectorization
– Bitmaps allow lightning fast null-checks
– Avoid branching to speed CPU pipeline
No barriers
DrillBit
Record batches are pipelined between nodes
– ~256kB usually
Janino compiles
CodeModel
runtime
generates code
byte-code
Merge byte-code of
Loaded class
the two classes
Precompiled byte-
code templates
Support direct execution of strongly specified JSON based logical and physical
plans
– Simplifies testing
– Enables integration of alternative query languages