Presto (Java) overview

Presto (Java) is a distributed SQL query engine, with the capability to query vast data sets located in different data sources, thus solving data problems at scale.

watsonx.data Developer edition

watsonx.data on Red Hat® OpenShift®

watsonx.data SaaS on AWS

Presto (Java) provides the ANSI SQL interface, which can be used for all data analytics and IBM® watsonx.data use cases. With this feature, you do not need to manage multiple query languages and interfaces to different databases and storage. Presto (Java) is designed for storage abstraction, which allows connections to any data source through its connectors.

IBM watsonx.data uses version 0.286 of Presto (Java).

Presto (Java) server types

A Presto (Java) installation includes three server types - Coordinator, Worker, and Resource manager. Following is a brief explanation of the server types. For more information about the server types, see Presto (Java) concepts in Presto (Java) documentation.

  • Coordinator - A coordinator is a server type in a Presto (Java) installation, which is responsible for parsing statements, planning queries, and managing Presto (Java) worker nodes. It is the brain of a Presto (Java) installation and is also the node to which a client connects to submit statements for execution. It is also responsible for fetching results from the workers and returning the results to the client.
  • Worker - A worker is a server type in a Presto (Java) installation, which is responsible for running tasks and processing data. Worker nodes fetch data from connectors and exchange intermediate data with each other.
  • Resource manager - The resource manager is a server type in presto, which aggregates data from all coordinator and workers and creates a global view of the Presto (Java) cluster.
The following connectors are supported in IBM watsonx.data:

Presto (Java) SQL Language

For more information about SQL language used in Presto (Java), see SQL Language in Presto (Java) documentation.

Data types

By default, Presto (Java) supports the following data types. More types can be provided by plug-ins:

  • Boolean
  • Integer
  • Floating-Point
  • Fixed-Precision
  • String
  • Date and Time
  • Structural
  • Network Address
  • UUID
  • HyperLogLog
  • KHyperLogLog
  • Quantile Digest
  • T-Digest

For more information about the data types, see Data types in Presto (Java) documentation.

Reserved keywords

Presto (Java) has a set of reserved keywords for SQL queries. These keywords must be quoted in double quotation marks to be used as an identifier. For the list of reserved keywords, see Reserved keywords in Presto (Java) documentation.

SQL Syntax

For more information about SQL syntax used in Presto (Java), see SQL Statement Syntax in Presto (Java) documentation.