Apache Pulsar
DestinationOpen-Source

Deliver data to Apache Pulsar

Apache Pulsar is an open-source distributed messaging and streaming platform

Quick Start

Connect in minutes with SQL

Use CREATE SINK to deliver processed data from RisingWave to Apache Pulsar. Define your transformation logic in SQL and let RisingWave handle delivery, retries, and exactly-once semantics.

SQL
CREATE SINK IF NOT EXISTS pulsar_sink AS
SELECT
    order_status,
    COUNT(*) as order_count,
    SUM(total_amount) as total_revenue,
    AVG(total_amount) as avg_order_value,
    MIN(last_updated) as first_order_time,
    MAX(last_updated) as last_order_time
FROM orders_rw
WITH (
  connector = 'pulsar',
  topic = 'test-topic',
  service.url = 'pulsar://broker:6650',
  oauth.issuer.url = 'https://issuer.com',
  oauth.credentials.url = 'https://provider.com',
  oauth.audience = 'test-aud',
  oauth.scope = 'consume',
  aws.credentials.access_key_id = 'xxx',
  aws.credentials.secret_access_key = 'xxx'
)
FORMAT DEBEZIUM ENCODE JSON;

For comprehensive configuration details, please refer to the Pulsar connector documentation.

Capabilities

What you can do with RisingWave + Apache Pulsar

Continuous Delivery

Automatically sink processed results from RisingWave to Apache Pulsar as new data arrives. No batch jobs needed.

Exactly-once Semantics

Guaranteed data correctness when delivering to Apache Pulsar with barrier-based checkpointing.

Upsert & Append

Support both append-only and upsert modes when sinking to Apache Pulsar, depending on your use case.

Sink Decoupling

Built-in buffering ensures RisingWave stays stable even if Apache Pulsar experiences temporary slowdowns.

Start streaming in minutes

Connect to Apache Pulsar with just a few lines of SQL. No infrastructure to manage, no code to write.

Best-in-Class Event Streaming
for Agents, Apps, and Analytics
GitHubXLinkedInSlackYouTube
Sign up for our to stay updated.