Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Presto changes

2,127 views

Published on

Presto Update at Presto meetup: http://eventdots.jp/event/593112

Published in: Technology
  • Login to see the comments

Presto changes

  1. 1. Presto changes July 19, 2016 : Presto meeup Masahiro Nakagawa
  2. 2. • Teradata starts Enterprise support • http://www.teradata.jp/products-and-services/ presto-download/ • Airpal • http://airbnb.io/airpal/ • Presto Admin • https://github.com/prestodb/presto-admin • Users: https://github.com/prestodb/presto/wiki/Presto-Users Ecosystem
  3. 3. New DataType • DECIMAL (v0.145) • VARCHAR(N) (v0.137) • INTEGER (v0.145) • Use only 4 byte unlike 8 byte BIGINT • SMALLINT, TINYINT • FLOAT (v0.149)
  4. 4. New Connectors • System Connector (v0.100) • BlackHoleConnector (v0.108) • Redis Connector (v0.119) • Tableau Web Connector (v0.126) • New Parquet Reader for Hive (v0.138) • MongoDBConnector (v0.146) • LocalFileConnector (v0.147)
  5. 5. New syntax • CREATE TABLE (v0.101) • DELETE (v0.107) • TRY (v0.140) • CUBE, ROLLUP, GROUPING SETS (v0.142) • https://prestodb.io/docs/current/sql/ select.html#complex-grouping-operations • EXPLAIN ANALYZE (v0.144)
  6. 6. New features • String functions assume input is UTF-8 (v0.102) • Transaction support in SQL / Connector (v0.132) • Dynamic split concurrency (v0.139) • non-correlated subquery in aggregation query (v0.142) • colocated join (v0.147) • non-equi outer joins (v0.148)
  7. 7. Execution Planner - Split Sink Final aggr Exchange Sink Partial aggr Table scan Sink Final aggr Exchange Sink Partial aggr Table scan Output Exchange Split many splits / task = many threads / worker (table scan) 1 split / task = 1 thread / worker Worker 1 Worker 2 1 split / worker = 1 thread / worker
  8. 8. Configuration • node-scheduler.network-topology (v0.129) • legacy or flat for consider work queue • query.max-cpu-time (v0.143) • Limit CPU usage of a query
  9. 9. Operation • Worker: Graceful shutdown (v0.128) • resource groups (v0.147) • resources and query queues isolation for various workload • https://prestodb.io/docs/current/admin/resource- groups.html • G1GC is recomended (v0.148)
  10. 10. New function (1) • String • normalize, lpad, rpad, split_to_map, substring, from_utf8, to_utf8, split • Math • truncate, width_bucket, sign, to_base, from_base, degrees, radians • Array • array_distinct, array_intersect, array_position, array_join, array_min, array_max, slice, element_at, flatten, sequence, array_remove • Map • element_at, map_concat
  11. 11. New function (2) • Aggregation • map_agg, bool_and, bool_or, array_agg, geometric_mean, map_union, multimap_agg, checksum, histogram, cover_pop, cover_samp, corr, regr_slope, regr_intercept • Binary • md5, sha1, sha256, sha512 • Bitwise • bit_count, bitwise_not, bitswise_and, bitwise_or, bitwise_xor • URL • url_encode, url_decode
  12. 12. New function (3) • datetime • date_format, date_parse, from_iso8601_timestamp, from_iso8601_date, to_iso8601, year_of_week • Regexp • regexp_split, regexp_extract_all,
  13. 13. Next features • https://github.com/prestodb/presto/wiki/Roadmap • Prepared statements • New optimizer • Materialized query tables • Spill to disk • HTTP/2 • etc…

×