Do you ❤️ Trino? Give us a 🌟 on GitHub

Trino Community Broadcast

59: Querying Trino with Java and jOOQ

Apr 24, 2024

Introduction

Lukas Eder from the jOOQ Object Oriented Querying project joins us to talk about Trino support for jOOQ, Java, and SQL.

Video

Audio

 

Host

Guest

Trino releases

Trino 445

  • Add support for time travel queries with the Delta Lake connector.
  • Add support for the REPLACE modifier as part of a CREATE TABLE statement with the Delta Lake connector.
  • Add support for writing Bloom filters in Parquet files with the Hive connector.
  • Add support for dynamic filtering to the MongoDB connector.
  • Expand support for function pushdown in the Snowflake connector.

Lukas Eder and data geekery

Lukas is recognized as a Java Champion and well-known as a very active member of the Java community. We chat about his history and involvement in the community of Java and related open source projects, and how it lead to jOOQ and his company data geekery. Lukas also briefly talks about other products.

jOOQ

jOOQ stands for jOOQ Object Oriented Querying (jOOQ). It generates Java code from your database, and lets you build type safe SQL queries through its fluent API.

All editions of jOOQ since the 3.19 release include support for Trino. The level of support depends on the used catalog and connector, and further Trino-specific enhancements are in progress.

In our conversation and demo session with Lukas, we cover all the following aspects and a few other topics:

  • What is jOOQ?
  • What motivated the creation of jOOQ?
  • Discuss the great reasons for using jOOQ:
    • Database first
    • Typesafe SQL
    • Code generation
    • Active records
    • Multi-tenancy
    • Standardization
    • Query lifecycle
    • Procedures
  • How does it compare to ORM system like Hibernate or others like the old MyBatis
  • What databases are supported by jOOQ and commonly used?
  • Chat about some customer use cases.
  • Supported and required Java versions, fun with upgrades, and experience from customers.
  • How Lukas discovered Trino and decided to add support for it.
  • Challenges and interesting aspects of supporting different databases
  • What is next for jOOQ in general, and Trino support specifically?
  • Cool SQL features in Trino that might be suitable for standardization:
    • Higher order functions, partially already supported in jOOQ
    • Integration of object-relational database feature, such as nested collections with ARRAY or LIST.
    • Potential introduction of new concepts to SQL, such as MAP.
  • Complexities from Trino having different catalogs and connectors, and the catalog, schema, table hierarchy.

jOOQ resources and further information:

Rounding out

Trino Fest news:

Other news and events:

  • Manfred’s recap of Open Source Summit NA and Data Engineer Things meeting in Seattle.
  • Trino Contributor Call right after the episode.
  • Contact us to be a guest in upcoming Trino Community Broadcast episodes.

If you want to learn more about Trino, check out the definitive guide from O’Reilly. You can get the free PDF from Starburst or buy the English, Polish, Chinese, or Japanese edition.

Music for the show is from the Megaman 6 Game Play album by Krzysztof Slowikowski.