Skip to content

Pre-release documentation

This describes Beacon 2.0.0-rc3, a release candidate. Behavior documented here may still change before 2.0.0 ships, and some of it is not in any released build yet. For the current stable release, see the 1.8.0 documentation.

SQL Guide

Beacon uses Apache DataFusion as its query engine. It gives you a broad standard SQL dialect with SELECT, WHERE, GROUP BY, JOIN, ORDER BY, window functions and more. Every transport below speaks the same dialect.

Run SQL

InterfaceHow
HTTP API (server)POST /api/query with { "sql": "..." }. The SQL interface is on by default.
Arrow Flight SQL (server)Any Flight SQL client, such as DataGrip, ADBC or DBeaver. It is on by default.

What you can query

Registered tables: any external table or view:

sql
SELECT * FROM ocean_profiles LIMIT 100

Files on demand: use a table function. You register no table:

sql
SELECT * FROM read_netcdf(['argo/**/*.nc']) LIMIT 100

Reference

Friendly SQL. Beacon also supports these DataFusion extensions: SELECT * EXCLUDE (col), REPLACE (…), GROUP BY ALL, QUALIFY, UNION BY NAME, FROM first (FROM t SELECT …), DESCRIBE, SHOW TABLES, SHOW COLUMNS, list literals and trailing commas.

Released under the AGPL-3.0 License.