ProductDocsArchitectureBlogGitHubGitHubGet Started
Experimental

Live Tables

CREATE LIVE TABLE for streaming ingestion targets queryable by SQL.

Overview

A live table is a named, append-oriented table that accepts rows from the LiveTable.ingest_row() API and is immediately queryable via SQL. Changes can be observed via a change_feed iterator.

DDL Statements

StatementDescription
CREATE LIVE TABLE <name>Register a live table visible to SQL queries.
REFRESH LIVE TABLE <name>Flush pending inserts into the queryable snapshot.
DROP LIVE TABLE <name>Remove the live table.

Example

CREATE LIVE TABLE sensor_readings;
import krishiv as ks

session = ks.Session.embedded()
session.sql("CREATE LIVE TABLE sensor_readings")
lt = session.live_table("sensor_readings")
lt.ingest_row({"sensor_id": "s1", "value": 23.4, "ts": 1700000000})
lt.refresh()
session.sql("SELECT * FROM sensor_readings").show()