-
Notifications
You must be signed in to change notification settings - Fork 164
[Feature] Add StarRocks Driver Support #8454
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
k-anshul
merged 32 commits into
rilldata:main
from
EdwardArchive:feat_starrocks_olap_connector
Dec 30, 2025
Merged
Changes from all commits
Commits
Show all changes
32 commits
Select commit
Hold shift + click to select a range
fbde1a6
only olap connector(not incloud model)
EdwardArchive ad513a0
fix : message "not available for dialect 'starrocks'" & starrocks icon
EdwardArchive aee42f2
feat(starrocks): implement histogram and timeseries support
EdwardArchive 692f7c6
feat(starrocks): add support for resolving timestamps in StarRocks di…
EdwardArchive 4c09870
feat(starrocks): enhance StarRocks connector with improved context ha…
EdwardArchive c47dbd9
feat(starrocks): add StarRocks form and error handling to AddDataForm
EdwardArchive 0a3dbc5
Update docs
EdwardArchive ed2301b
fix: update code based on PR review feedback
EdwardArchive ffdce1b
fix: apply fixes from PR comments
EdwardArchive 948fa2a
fix: resolve build errors
EdwardArchive 4de5c64
fix: update reserved keyword handling and SQL name sanitization for S…
EdwardArchive 2987351
fix: improve dry run handling in Query method and simplify SQL min query
EdwardArchive 003001e
fix: correct safeName call in Druid maxSQL query
EdwardArchive ae95f12
fix: use equality check instead of Before for StarRocks time range bins
EdwardArchive 436fa8c
fix: resolve build errors and metrics context propagation in Data Exp…
EdwardArchive b83c569
change test code and fix on AddStarRocksFrom
EdwardArchive f4cd71f
Apply minor fixes from code review comments
EdwardArchive 0d75a03
Refactor: removed unused code as suggested by Git CI
EdwardArchive 60c6614
fix: Add only for the StarRocks compatibility by executor part
EdwardArchive 6cd5488
fix change c.getDB to c.db
EdwardArchive 11db47c
fix: simplify database connection retrieval in StarRocks driver
EdwardArchive 193ba9c
fix: update column handling for StarRocks compatibility in numeric an…
EdwardArchive 3bec873
feat: enhance error handling and form structure in AddStarRocksForm c…
EdwardArchive 3f61433
fix the failing checks.
EdwardArchive cae1bdf
fix the failing checks 2
EdwardArchive 5945162
fix : npx prettier check
EdwardArchive 2c14c1c
[Fix] avoid creating a separate AddStarRocksForm
EdwardArchive 3a3bd35
[Enhancement] Limit StarRocks Frontend until integration is supported…
EdwardArchive 4b37cbc
[Enhancement] Restrict changes to Backend components only (StarRocks)
EdwardArchive 65488dc
fix: format OLAP_DRIVERS_WITHOUT_MODELING array for consistency
EdwardArchive 78df8ec
[Enhancement] Handle StarRocks icon in a more general way
EdwardArchive 3a69ee6
fix: Prettier checks
EdwardArchive File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,118 @@ | ||
| --- | ||
| title: StarRocks | ||
| description: Power Rill dashboards using StarRocks | ||
| sidebar_label: StarRocks | ||
| sidebar_position: 5 | ||
| --- | ||
|
|
||
| [StarRocks](https://www.starrocks.io/) is an open-source, high-performance analytical database designed for real-time, multi-dimensional analytics on large-scale data. It supports both primary key and aggregate data models, making it suitable for a variety of analytical workloads including real-time dashboards, ad-hoc queries, and complex analytical tasks. | ||
|
|
||
| Rill supports connecting to an existing StarRocks cluster via a "live connector" and using it as an OLAP engine built against [external tables](/build/connectors/olap#external-olap-tables) to power Rill dashboards. | ||
|
|
||
| ::: | ||
|
|
||
| ## Connect to StarRocks | ||
|
|
||
| When using StarRocks for local development, you can connect via connection parameters or by using the DSN. | ||
|
|
||
| After selecting "Add Data", select StarRocks and fill in your connection parameters. This will automatically create the `starrocks.yaml` file in your `connectors` directory and populate the `.env` file with `connector.starrocks.password`. | ||
|
|
||
| ### Connection Parameters | ||
|
|
||
| ```yaml | ||
| type: connector | ||
| driver: starrocks | ||
|
|
||
| host: <HOSTNAME> | ||
| port: 9030 | ||
| username: <USERNAME> | ||
| password: "{{ .env.connector.starrocks.password }}" | ||
| catalog: default_catalog | ||
| database: <DATABASE> | ||
| ssl: false | ||
| ``` | ||
|
|
||
| ### Connection String (DSN) | ||
|
|
||
| Rill can also connect to StarRocks using a DSN connection string. StarRocks uses MySQL protocol, so the connection string follows the MySQL DSN format: | ||
|
|
||
| ```yaml | ||
| type: connector | ||
| driver: starrocks | ||
|
|
||
| dsn: "{{ .env.connector.starrocks.dsn }}" | ||
| ``` | ||
|
|
||
| The DSN format is: | ||
| ``` | ||
| starrocks://user:password@host:port/database | ||
| ``` | ||
|
|
||
| Or using MySQL-style format: | ||
| ``` | ||
| user:password@tcp(host:port)/database?parseTime=true | ||
| ``` | ||
|
|
||
| ## Configuration Properties | ||
|
|
||
| | Property | Description | Default | | ||
| |----------|-------------|---------| | ||
| | `host` | StarRocks FE (Frontend) server hostname | Required | | ||
| | `port` | MySQL protocol port of StarRocks FE | `9030` | | ||
| | `username` | Username for authentication | Required | | ||
| | `password` | Password for authentication | - | | ||
| | `catalog` | StarRocks catalog name (for external catalogs like Iceberg, Hive) | `default_catalog` | | ||
| | `database` | StarRocks database name | - | | ||
| | `ssl` | Enable SSL/TLS encryption | `false` | | ||
| | `dsn` | Full connection string (alternative to individual parameters) | - | | ||
|
|
||
| ## External Catalogs | ||
|
|
||
| StarRocks supports external catalogs for querying data in Hive, Iceberg, Delta Lake, and other external data sources. To use an external catalog: | ||
|
|
||
| 1. Set the `catalog` property to your external catalog name (e.g., `iceberg_catalog`) | ||
| 2. Set the `database` property to the database within that catalog | ||
|
|
||
| ```yaml | ||
| type: connector | ||
| driver: starrocks | ||
|
|
||
| host: starrocks-fe.example.com | ||
| port: 9030 | ||
| username: analyst | ||
| password: "{{ .env.connector.starrocks.password }}" | ||
| catalog: iceberg_catalog | ||
| database: my_database | ||
| ``` | ||
|
|
||
| ## Naming Mapping | ||
|
|
||
| StarRocks uses a three-level hierarchy: Catalog > Database > Table. In Rill's API: | ||
|
|
||
| | Rill Parameter | StarRocks Concept | Example | | ||
| |----------------|-------------------|---------| | ||
| | `database` | Catalog | `default_catalog`, `iceberg_catalog` | | ||
| | `databaseSchema` | Database | `my_database` | | ||
| | `table` | Table | `my_table` | | ||
|
|
||
| ## Troubleshooting | ||
|
|
||
| ### Connection Issues | ||
|
|
||
| If you encounter connection issues: | ||
|
|
||
| 1. Verify the FE node hostname and port (default: 9030) | ||
| 2. Check that your user has appropriate permissions | ||
| 3. Ensure network connectivity to the StarRocks FE node | ||
| 4. For SSL connections, verify SSL is enabled on the StarRocks server | ||
|
|
||
|
|
||
| ## Known Limitations | ||
|
|
||
| - **Model execution**: Model creation and execution is not yet supported. This feature is under development. | ||
|
|
||
| :::info Need help connecting to StarRocks? | ||
|
|
||
| If you would like to connect Rill to an existing StarRocks instance, please don't hesitate to [contact us](/contact). We'd love to help! | ||
|
|
||
| ::: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.