Evangelos Mouroutsos
05/24/2026, 9:43 PMRocky
05/24/2026, 9:44 PMfluss. This integration allows StarRocks to query data directly from Apache Fluss (a streaming storage system) with sub-second data freshness.
Prerequisites
* StarRocks Version: This feature is available starting from StarRocks 3.3.13-1.2.0 (specifically noted in E-MapReduce Serverless StarRocks) and is generally supported in newer versions (v3.4, v4.0, etc.).
* Fluss Cluster: You must have a running Apache Fluss cluster and its coordinator service address.
SQL Syntax
Use the CREATE EXTERNAL CATALOG statement to register the Fluss service:
sql
CREATE EXTERNAL CATALOG fluss_catalog
PROPERTIES (
"type" = "fluss",
"bootstrap.servers" = "<fluss_coordinator_host>:9123"
);
Parameters
Parameter | Required | Description
type | Yes | Set the value to fluss.
bootstrap.servers | Yes | The service discovery address (coordinator) of your Fluss cluster.
fluss.option.client.security.protocol | No | Security protocol (e.g., SASL or PLAINTEXT).
fluss.option.client.security.sasl.mechanism | No | SASL mechanism (e.g., PLAIN).
fluss.option.client.security.sasl.username | No | Username for SASL authentication.
fluss.option.client.security.sasl.password | No | Password for SASL authentication.
Example with Authentication
If your Fluss cluster requires SASL authentication, configure the catalog as follows:
sql
CREATE EXTERNAL CATALOG my_fluss
PROPERTIES (
"type" = "fluss",
"bootstrap.servers" = "<http://fluss-coordinator.example.com:9123|fluss-coordinator.example.com:9123>",
"fluss.option.client.security.protocol" = "SASL",
"fluss.option.client.security.sasl.mechanism" = "PLAIN",
"fluss.option.client.security.sasl.username" = "your_user",
"fluss.option.client.security.sasl.password" = "your_password"
);
Usage
Once the catalog is created, you can query Fluss tables directly using three-part naming (catalog.database.table) or by switching to the catalog:
sql
-- Query directly
SELECT * FROM fluss_catalog.db_name.table_name LIMIT 10;
-- Or switch context
SET CATALOG fluss_catalog;
USE db_name;
SELECT * FROM table_name;
Key Features
* Columnar Streaming: StarRocks leverages Fluss's columnar storage (based on Apache Arrow) to perform high-performance analytical scans.
* Unified Access: You can join Fluss "hot" data with historical "cold" data stored in other formats like Iceberg or Paimon using StarRocks query federation.
References
• sql-reference/sql-statements/Catalog/CREATE_EXTERNAL_CATALOG.md
• data_source/catalog/iceberg/iceberg_catalog.md