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.

Supported Formats

Beacon finds the datasets in its storage root automatically. You register nothing. Copy your files into the datasets folder or the S3 prefix. You can then query them at once. Use a reader function or an external table.

The default local path in the Docker container is /beacon/data/datasets/.

Format support matrix

FormatRecognized filesSTORED ASread_* functionOutput format
Parquet.parquetPARQUETread_parquetyes
GeoParquet.geoparquetGEOPARQUETread_geoparquetyes
CSV / TSV.csv, .tsvCSVread_csvyes
Arrow IPC.arrow, .featherARROWread_arrowyes (ipc)
NetCDF.ncNCread_netcdfyes (+ ND-NetCDF)
Zarrzarr.json markerZARRread_zarrno
Atlasatlas.json markerATLASread_atlasno
GeoTIFF / COG.tif, .tiffTIFFread_tiffno
BBF.bbfBBFread_bbfno
Delta Lake_delta_log/ directoryDELTAread_deltano
Apache Icebergmetadata/ directoryICEBERGread_icebergno
ODV ASCII.txtnot supportedread_odv_asciiyes

Beacon finds every format above in the datasets store. Delta Lake, Apache Iceberg and ODV ASCII are the exception. Point a read_* function at them. For Delta and Iceberg, CREATE EXTERNAL TABLE … STORED AS DELTA|ICEBERG LOCATION … also works. The "Output format" column marks the formats that output.format can export a query result to.

Per-format reference

Each format has its own chapter. The chapter covers the read behaviour, the attribute columns, the limitations and the tuning. See External Files.

Where files live

The datasets store is a local directory or an S3-compatible bucket:

  • Local disk: the files under the datasets folder. Mount that folder into the container.
  • Object storage: an S3, GCS or Azure prefix. See Object Storage for the credentials and the setup.

Beacon reads the files in place. Beacon never copies or converts them. A new file is queryable at once. Use a crawler to register many datasets under a prefix as named tables in one step. A crawler also handles a partitioned layout.

Next

Released under the AGPL-3.0 License.