LakeQL
Introduction
  • Overview
  • Key Concepts
  • Package Map
Getting Started
  • Prerequisites
  • Quickstart
  • Environment Configuration
  • First Run
Architecture
  • System Overview
  • Data Flow
  • Request Lifecycle
Configuration
  • Environment Variables
  • Authentication
  • Trino Connection
create-app
  • Usage
  • Template Structure
  • Post Creation
Contributing
  • Local Development
  • Contribution Guide
Guides
  • Custom Resolvers
  • Extending Schema
  • Deploying
  • Mutations
  • Load Strategies
GitHub
LakeQL
  1. LakeQL
  2. Getting Started
  3. Prerequisites

On this page

  1. System Requirements
  2. Trino Instance
  3. Hive Catalog
  4. Verify Your Setup

Prerequisites

System requirements and dependencies needed to run LakeQL.

System Requirements #

Before getting started with LakeQL, make sure your environment meets these requirements:

RequirementVersionNotes
Node.js>= 22Required for ESM and modern APIs
pnpmLatestRecommended package manager (npm works too)
TrinoAny recent versionAccessible via HTTP
Hive MetastoreCompatible with your Trino setupAt least one schema with tables

Trino Instance #

You need a running Trino instance that LakeQL can connect to. Options:

  • Docker — Run Trino locally with docker run -p 8080:8080 trinodb/trino
  • minitrino — Use minitrino for a full local lakehouse stack (Trino + Hive Metastore + MinIO)
  • Existing cluster — Connect to your team's Trino deployment
LakeQL uses the Trino REST API for both introspection (CLI) and query execution (API). Make sure your Trino instance is reachable over HTTP/HTTPS from your development machine.

Hive Catalog #

LakeQL generates schemas from tables registered in a Hive catalog. You need at minimum:

  • A Hive catalog configured in Trino (typically named hive )
  • At least one schema within that catalog
  • At least one table with columns in that schema

If you're using a local Docker setup, you can create test tables using Trino's SQL interface:

1
2
3
4
5
6
7
8
9
10
11
CREATE SCHEMA IF NOT EXISTS hive.myschema
WITH (location = 's3a://warehouse/myschema');

CREATE TABLE IF NOT EXISTS hive.myschema.users (
  id BIGINT,
  name VARCHAR,
  email VARCHAR,
  created_at TIMESTAMP
)
WITH (format = 'PARQUET');

Verify Your Setup #

Confirm that Trino is accessible:

1
2
3
# Check Trino is responding
curl http://localhost:8080/v1/info

You should see a JSON response with cluster information. Once this works, you're ready to scaffold a LakeQL project.

Previous page

Getting Started

Next page

Quickstart