drill lightning-london-big-data-10-01-2012

10
Apache Drill Interactive Analysis of Large-Scale Datasets Ted Dunning Chief Application Architect, MapR

Upload: ted-dunning

Post on 10-May-2015

1.539 views

Category:

Documents


0 download

DESCRIPTION

A quick status report on Drill.

TRANSCRIPT

Page 1: Drill lightning-london-big-data-10-01-2012

Apache DrillInteractive Analysis of Large-Scale Datasets

Ted Dunning Chief Application Architect, MapR

Page 2: Drill lightning-london-big-data-10-01-2012

Big Data ProcessingBatch processing Interactive analysis Stream processing

Query runtime Minutes to hours Milliseconds to minutes

Never-ending

Data volume TBs to PBs GBs to PBs Continuous stream

Programming model

MapReduce Queries DAG

Users Developers Analysts and developers

Developers

Google project MapReduce Dremel

Open source project

Hadoop MapReduce

Storm and S4

Introducing Apache Drill…

Page 3: Drill lightning-london-big-data-10-01-2012

GOOGLE DREMEL

Page 4: Drill lightning-london-big-data-10-01-2012

Google Dremel• Interactive analysis of large-scale datasets

– Trillion records at interactive speeds– Complementary to MapReduce– Used by thousands of Google employees– Paper published at VLDB 2010

• Authors: Sergey Melnik, Andrey Gubarev, Jing Jing Long, Geoffrey Romer, Shiva Shivakumar, Matt Tolton, Theo Vassilakis

• Model– Nested data model with schema

• Most data at Google is stored/transferred in Protocol Buffers• Normalization (to relational) is prohibitive

– SQL-like query language with nested data support

• Implementation– Column-based storage and processing– In-situ data access (GFS and Bigtable)– Tree architecture as in Web search (and databases)

Page 5: Drill lightning-london-big-data-10-01-2012

APACHE DRILL

Page 6: Drill lightning-london-big-data-10-01-2012

Architecture

• Only the execution engine knows the physical attributes of the cluster– # nodes, hardware, file locations, …

• Public interfaces enable extensibility– Developers can build parsers for new query languages– Developers can provide an execution plan directly

• Each level of the plan has a human readable representation– Facilitates debugging and unit testing

Page 7: Drill lightning-london-big-data-10-01-2012

Nested Query Languages

• DrQL– SQL-like query language for nested data– Compatible with Google BigQuery/Dremel

• BigQuery applications should work with Drill

– Designed to support efficient column-based processing• No record assembly during query processing

• Mongo Query Language– {$query: {x: 3, y: "abc"}, $orderby: {x: 1}}

• Other languages/programming models can plug in

Page 8: Drill lightning-london-big-data-10-01-2012

DrQL Example

SELECT DocId AS Id, COUNT(Name.Language.Code) WITHIN Name AS Cnt, Name.Url + ',' + Name.Language.Code AS StrFROM tWHERE REGEXP(Name.Url, '^http') AND DocId < 20;

* Example from the Dremel paper

Page 9: Drill lightning-london-big-data-10-01-2012

Design PrinciplesFlexible• Pluggable query languages• Extensible execution engine• Pluggable data formats

• Column-based and row-based• Schema and schema-less

• Pluggable data sources

Easy• Unzip and run• Zero configuration• Reverse DNS not needed• IP addresses can change• Clear and concise log messages

Dependable• No SPOF• Instant recovery from crashes

Fast• C/C++ core with Java support

• Google C++ style guide• Min latency and max throughput

(limited only by hardware)

Page 10: Drill lightning-london-big-data-10-01-2012

Get Involved!• Download (a longer version of) these slides

– http://www.mapr.com/company/events/bay-area-hug/9-19-2012

• Join the project– [email protected] #apachedrill

• Contact me:– [email protected][email protected][email protected]– @ted_dunning

• Join MapR– [email protected]