Trusted by 1,000+ Data-Driven Organizations
to harness continuous insights from both live and historical data.
-- 1. Connect to your object store
CREATE CONNECTION my_iceberg_connection WITH (
type = 'iceberg',
warehouse.path = 's3://your-bucket/iceberg-stocks',
hosted_catalog = true -- No external catalog needed!
);
-- 2. Create your Iceberg table
CREATE TABLE stock_trades (
trade_id INT PRIMARY KEY,
symbol STRING,
trade_price DOUBLE,
trade_volume INT,
trade_time TIMESTAMP,
trade_value DOUBLE
) ENGINE = iceberg;
-- 3. Transform streaming data and stream results into your table
CREATE MATERIALIZED VIEW stock_trades_mv AS
SELECT
CAST(trade_id AS INT) AS trade_id,
TRIM(symbol) AS symbol,
CAST(price AS DOUBLE) AS trade_price,
CAST(volume AS INT) AS trade_volume,
CAST(trade_time AS TIMESTAMP) AS trade_time,
price * volume AS trade_value
FROM stock_trades_src
WHERE price > 0 AND volume > 0;
INSERT INTO stock_trades
SELECT * FROM stock_trades_mv;
read the documentation
RisingWave offers purpose-built streaming connectors equipped with built-in intelligence to detect back pressure, enabling efficient data ingestion from numerous sources in a decentralized manner.
Live data has short shelf life. Incremental updates are triggered automatically in RisingWave to guarantee always fresh insights letting users get the most value of their data sets.
RisingWave makes data pipelines composable, allowing tables and views generated by one query to be seamlessly used as inputs for downstream queries.
Interoperability is a core design principle of RisingWave. As Iceberg and Delta increasingly become the de facto standards for data lakehouse table formats, RisingWave provides robust read and write support for both.