Professional Documents
Culture Documents
@DataWorksSummit
#DWS17
#prestodb
#teradata
What is Presto?
• Key Differentiators
• Performance & Scale
• Cross platform query capability, not only SQL on Hadoop
• Supports federated queries
• Used in production at many well known web-scale companies
Parser/
Client Planner Scheduler
analyzer
Worker
Worker
• Pluggable extensions
• Connectors
• Functions
• Types
• System access controllers
• Resource group configuration managers
• Event listeners
• ...
Coordinator
Cassandra Worker
Cassandra
Cassandra
MySQL
MySQL
MySQL
Kafka
Kafka
Hive
Hive
Kafka
…
Hive
…
Metadata API Data Location API Data Stream API
Parser/
Planner Scheduler
analyzer
Presto Connectors
Amazon S3
Plugins
Connector Configuration
getTableHandle(...)
Table Handle
getTableMetadata(...)
Query Execution
Split
• Handle to logical chunk of a table
• Attributes
• Remote access?
• Location
getSplits(...)
Iterator<Split>
Query Execution
Worker
+ splits
+ splits
Coordinator Worker
+ splits
Worker
Query Execution
Aggregation
Operator
Filter
Operator
Table Scan
Operator
getNextPage() Page
PageSource
Presto Connectors @Facebook
• Hive connector
• Warehouse (ad-hoc / batch)
• Raptor connector
• Dashboards
• Reporting backend for A/B testing framework
TERADATA PRESTO
Teradata QueryGrid SQL Examples
• Connector Example
• https://github.com/prestodb/presto/tree/master/presto-example-http
• Documentation
• https://prestodb.io/docs/current/develop.html
Additional Resources
• Website
• www.prestodb.io
• GitHub:
• www.github.com/prestodb/presto
• www.github.com/Teradata/presto (Teradata’s development “fork”)