status • Queries – How many shipments from supplier X? – How many shipments in region Y? SUPPLIER_ID NAME REGION ACM ACME Corp US GAL GotALot Inc US BAP Bits and Pieces Ltd Europe ZUP Zu Pli Asia { "shipment": 100123, "supplier": "ACM", “timestamp": "2013-02-01", "description": ”first delivery today” }, { "shipment": 100124, "supplier": "BAP", "timestamp": "2013-02-02", "description": "hope you enjoy it” } …
Dremel • Standard SQL 2003 support • Other QL possible • Plug-‐able data sources • Support for nested data • Schema is opAonal • Community driven, open, 100’s involved
maximize data locality • Co-‐ordinaAon, query planning, execuAon, etc, are distributed • By default Drillbits hold all roles • Any node can act as endpoint for a query Storage Process Drillbit node Storage Process Drillbit node Storage Process Drillbit node Storage Process Drillbit node
– JSON/BSON, XML, ProtoBuf, Avro – Some data sources support it naAvely (MongoDB, etc.) • FlaJening nested data is error-‐prone • Extension to ANSI SQL 2003
have rigid schemas – Schema changes rapidly – Different schema per record (e.g. HBase) • Supports queries against unknown schema • User can define schema or via discovery
API • Custom operators, UDF – logical plan • OpAmizer • Data sources and formats – scanner API Source Query Parser Logical Plan OpAmizer Physical Plan ExecuAon
a data source • Complementary use cases … • … use Apache Drill – Find record with specified condiAon – AggregaAon under dynamic condiAons • … use MapReduce – Data mining with mulAple iteraAons – ETL 23 hJps://cloud.google.com/files/BigQueryTechnicalWP.pdf
syntax • Physical plan • In-‐memory compressed data interfaces • Distributed execuAon focused on large cluster high performance sort, aggregaAon and join
submission and physical plan execuAon • DRILL-‐53 Setup cluster configuraAon and membership mgmt system – ZK for coordinaAon – Helix for parAAon and resource assignment (?) • Further schedule – Alpha Q2 – Beta Q3
• Sign up at mailing lists (user | dev) hJp://incubator.apache.org/drill/mailing-‐lists.html • Learn where and how to contribute hJps://cwiki.apache.org/confluence/display/DRILL/ContribuAng • Keep an eye on hJp://drill-‐user.org/