Trino

repository·master·Indexed 9 days ago

https://github.com/trinodb/trino

A high-performance, distributed SQL query engine designed for running interactive analytic queries against data sources of any size, including support for Delta Lake tables and OpenX JSON SerDe.

Tokens
351.4K
Snippets
999
Records
1.6K
Agent score
95%

What's inside Trino

  1. Overview of OpenX JSON format implementation

    master
    The OpenX JSON SerDe (org.openx.data.jsonserde.JsonSerDe) implementation in Trino is a superset of both the Rcongiu and Starburst Hive implementations. It is designed to be highly compatible, capable of reading JSON written by those implementations and writing JSON that they can read (provided they support the specific data type). It aims to normalize type mappers and line processing while supporting a wider range of types.
  2. What is Trino?

    master
    Trino is a distributed SQL query engine designed to query large data sets distributed over one or more heterogeneous data sources. It allows users to run high-performance, interactive analytic queries against data stored in various systems (such as HDFS, S3, MySQL, PostgreSQL, etc.) using standard SQL.
  3. Overview of the Trino Proxy service

    master

    The Trino Proxy is a service designed to provide secure access to remote Trino servers (or clusters of servers) for clients that do not have direct network access to them. It is particularly useful when Trino is located behind a firewall, as only the proxy needs to be exposed to the client.

    Key features include:

    • Protocol Awareness: The proxy natively understands the Trino protocol. It automatically rewrites the nextUri field in response payloads so that subsequent requests point to the proxy instead of the remote server.
    • JWT Token Generation: When configured, the proxy can generate JWT access tokens. These tokens contain the principal extracted from the TLS client certificate presented to the proxy. This enables secure environments where the proxy handles identity via TLS without requiring explicit username/principal validation.

    Important Limitation: The proxy does not hide remote URIs. Clients will still be able to see the hostnames and IP addresses of the remote Trino servers.

  4. Overview of the BigQuery connector

    master

    The BigQuery connector enables Trino to query data stored in Google BigQuery. It is useful for performing cross-system joins (e.g., joining BigQuery data with Hive data). The connector utilizes the BigQuery Storage API to read data via gRPC, which provides several performance advantages over traditional export-based methods:

    • Direct Streaming: Reads rows directly from BigQuery servers using an Avro wire format, avoiding temporary files in Google Cloud Storage.
    • Column Filtering: Efficiently streams only the requested columns, leveraging BigQuery's columnar storage.
    • Dynamic Sharding: Automatically rebalances records between readers to ensure parallel read phases finish nearly concurrently.
  5. Explore Trino SQL statement syntax

    master

    Trino supports a wide range of SQL statements for data manipulation, schema management, and session control. For a complete understanding of the language, you should consult the specific syntax guides for individual statements, as well as the general documentation for SQL data types and functions.

    Key areas of the SQL syntax include:

    • Data Definition Language (DDL): Creating and altering tables, views, schemas, catalogs, and materialized views.
    • Data Manipulation Language (DML): SELECT, INSERT, UPDATE, DELETE, MERGE, and TRUNCATE.
    • Session & Transaction Control: SET SESSION, COMMIT, ROLLBACK, and START TRANSACTION.
    • Access Control: GRANT, REVOKE, DENY, and role management.
    • Metadata & Inspection: SHOW commands (e.g., SHOW TABLES, SHOW COLUMNS) and DESCRIBE.
    • Advanced Analysis: EXPLAIN, ANALYZE, MATCH_RECOGNIZE (for pattern recognition), and PIVOT.
  6. Understanding Trino's SQL language support

    master

    Trino is an ANSI SQL compliant query engine. This compliance enables integration with standard BI (Business Intelligence) and ETL (Extract, Transform, Load) tools.

    Trino operates by validating and translating incoming SQL statements into the specific operations required by the connected underlying data sources.

    For detailed technical specifications, refer to the following documentation areas:

    • SQL statement and syntax reference: For syntax and structure.
    • SQL functions and operators: For available built-in functions and operators.
    • SQL data types: For supported type systems.
    • Reserved keywords and comments: For language-specific syntax rules.
  7. SQL support for the Oracle connector

    master

    The Oracle connector provides both read and write access to data and metadata. Supported operations include standard Trino SQL statements as well as specific Oracle-related features:

    • Data Manipulation: INSERT, UPDATE, DELETE, and TRUNCATE.
    • DDL: CREATE TABLE, CREATE TABLE AS, DROP TABLE, ALTER TABLE, and COMMENT.
    • Advanced Features: Support for Oracle PROCEDURES and Oracle TABLE FUNCTIONS.