19
Presto Update (2016) Martin Traverso 3/22/2016

Presto Meetup @ Facebook (3/22/2016)

Embed Size (px)

Citation preview

Page 1: Presto Meetup @ Facebook (3/22/2016)

Presto Update (2016)

Martin Traverso 3/22/2016

Page 2: Presto Meetup @ Facebook (3/22/2016)

By The Numbers▪12 months ▪43 releases (0.99 to 0.142) ▪104 contributors (150 total) ▪2355 commits (6946 total) ▪3411 files changed ▪319,734 insertions(+) 79,818 deletions(-)

Page 3: Presto Meetup @ Facebook (3/22/2016)

Language Features▪CREATE TABLE ▪Table Properties ▪ALTER TABLE, CREATE TABLE AS, DROP ▪INSERT/DELETE

Page 4: Presto Meetup @ Facebook (3/22/2016)

Language Features▪CUBE, ROLLUP, GROUPING SETS ▪Uncorrelated scalar subqueries ▪Non-equality predicates for inner joins

Page 5: Presto Meetup @ Facebook (3/22/2016)

Language Features▪New functions (e.g., bitwise operations) ▪TRY ▪VARCHAR(length) ▪Binary literals ▪Unicode support ▪CALL

Page 6: Presto Meetup @ Facebook (3/22/2016)

Security▪Authentication (Kerberos) ▪Authorization ▪Extensible

Page 7: Presto Meetup @ Facebook (3/22/2016)

Performance▪Physical awareness ▪Dictionary-aware execution ▪Structural types representation

Page 8: Presto Meetup @ Facebook (3/22/2016)

Workload Management▪Configurable admission queues ▪Memory management ▪Network topology-aware scheduling ▪Adaptive split concurrency ▪Draining

Page 9: Presto Meetup @ Facebook (3/22/2016)

Hive▪INSERT/DELETE ▪S3 integration improvements ▪New Parquet reader ▪HA metastore support

Page 10: Presto Meetup @ Facebook (3/22/2016)

Miscellaneous▪Integration testing suite ▪Blackhole connector ▪Redis connector ▪RPM package ▪Tableau web connector ▪Query plan/execution visualization

Page 11: Presto Meetup @ Facebook (3/22/2016)

Next

Page 12: Presto Meetup @ Facebook (3/22/2016)

Presto@Facebook▪Warehouse ▪Batch ▪Interactive ▪Application analytics ▪A/B testing ▪User-facing products

Page 13: Presto Meetup @ Facebook (3/22/2016)

Language▪Data Types ▪DECIMAL, FLOAT, SMALLINT, INTEGER ▪CHAR(n), BINARY(n), VARBINARY(n) ▪Correlated subqueries ▪Non-equi outer join ▪Lambdas

Page 14: Presto Meetup @ Facebook (3/22/2016)

Language▪Prepared statements ▪GRANT/REVOKE ▪Materialized query tables ▪Simple query rewrites ▪EXPLAIN ANALYZE

Page 15: Presto Meetup @ Facebook (3/22/2016)

Performance▪Joins and aggregations ▪Structural types ▪Task parallelism ▪Colocated joins ▪Communication layer

Page 16: Presto Meetup @ Facebook (3/22/2016)

Workload Management▪Resource groups and queueing ▪Parallelism vs memory tradeoff

Page 17: Presto Meetup @ Facebook (3/22/2016)

Hive▪ORC writer ▪RCFile reader/writer ▪Kerberos support for HDFS/Metastore ▪Bucketed tables ▪Transaction support (INSERT OVERWRITE)

Page 18: Presto Meetup @ Facebook (3/22/2016)

Optimizer▪Cost-based search ▪Connectors can participate ▪Whole subquery pushdown

Page 19: Presto Meetup @ Facebook (3/22/2016)

(c) 2007 Facebook, Inc. or its licensors.  "Facebook" is a registered trademark of Facebook, Inc.. All rights reserved. 1.0