-
Notifications
You must be signed in to change notification settings - Fork 163
[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
[Feature] Add StarRocks Driver Support #8454
Conversation
|
I just working on it find some edge case |
- Add StarRocks support for ColumnRugHistogram with generate_series() - Add StarRocks support for ColumnNumericHistogram (FD & Diagnostic methods) - Add CTE-based ColumnTimeseries for StarRocks (no TEMP TABLE required) - Add helper functions: rangeNumbersEnd(), isNonNullFinite() for StarRocks - Handle reserved keywords (values, range) with backtick escaping
…ndling, connection timeouts, and error messages
|
@k-anshul |
|
Thank you for the Hard works! |
|
Also tagging @ericpgreen2 for review on frontend changes. |
- addressed multiple review comments - cleaned up import and minor issues
- Remove unused 'strings' import from starrocks.go - Fix undefined variable 't' in olap.go StarRocks case - Update date_trunc comment to reference validation location
…lorer - Fix build compilation errors - Ensure selected catalog (Database), schema (DatabaseSchema), and table are properly propagated when creating metrics from Data Explorer
|
Hi @k-anshul, Thank you so much for taking the time to review my code — I really appreciate it, especially since it was likely during the weekend or early morning hours. I've addressed all of your review comments. Please let me know if you have any questions or concerns. Have a great day! |
|
Hey @EdwardArchive Thanks for your work here. I added some more comments. Mostly should be minor. |
Hey @k-anshul |
lovincyrus
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For this pass, I'd proceed without the frontend since there are ongoing updates to how the form is rendered in #8467
We should avoid creating a separate AddStarRocksForm, as it is an anti-pattern that we do not want to maintain in the codebase.
lovincyrus
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice job removing the StarRocks form! I see some remnants of StarRocks frontend integration.
We should limit this branch's scope to the StarRocks driver changes and exclude any frontend-related changes.
web-local/src/routes/(application)/(workspace)/connector/starrocks/+page.ts
Outdated
Show resolved
Hide resolved
...application)/(workspace)/connector/starrocks/[name]/[database]/[schema]/[table]/+page.svelte
Outdated
Show resolved
Hide resolved
… + Fix external catalog information schema check
|
@lovincyrus |
|
Sorry for the repeated review. |
17d5118 to
78df8ec
Compare
This branch is now focused on supporting the StarRocks driver and adding some icons. Requesting the final +1 @ericpgreen2 |
ericpgreen2
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Cyrus. I agree with the decision to remove the frontend changes from this branch, as they can be addressed in a separate dedicated PR. I'll approve the PR from the frontend perspective :)
|
Hi @k-anshul, sorry for commenting at the end of the year It looks like the frontend changes have passed successfully in this PR. Could you please guide me on what additional steps are needed to move this PR toward merge? Thank you! |
|
Hey @EdwardArchive Can you fix the prettier checks? You can run |
|
Oh.. thanks! |
|
LGTM. Thank you for your contribution @EdwardArchive |
Already approved in comments above
|
Hi @k-anshul, @lovincyrus Thanks for your hard work again! And happy new year! I'd like to start working on the frontend portion for StarRocks integration. Should I create a new issue to track the frontend work, or is it okay Also, is #8467 at a point where I can proceed with the form integration? Thanks! |
|
Hey @EdwardArchive Thank you for your interest in contributing to Rill.
|
|
Hi @k-anshul, Sure, I'll work for the stability improvements for the driver. |
Issue : #6839
Related PR : #8390 (priveus)
PR: StarRocks OLAP Connector (Read-Only)
What is StarRocks
https://www.starrocks.io/ is an open-source, high-performance OLAP database designed for real-time analytics. It provides a MySQL-compatible interface with columnar storage
and vectorized query execution, making it ideal for large-scale data analytics workloads.
Summary
Add StarRocks as an OLAP connector to directly query existing StarRocks tables. This is a read-only OLAP connector - Model Execution is not supported.
Changes
1. Backend - StarRocks Driver (
runtime/drivers/starrocks/) - 5 filesstarrocks.goolap.goinformation_schema.goutils.gostarrocks_test.go2. Backend - Query Dialect Support (
runtime/queries/) - 14 filescolumn_cardinality.goapprox_count_distinct()column_null_count.gocolumn_desc_stats.gopercentile_approx(),stddev_samp()column_time_range.gocolumn_time_grain.gocolumn_topk.gocolumn_rug_histogram.gocolumn_numeric_histogram.gocolumn_timeseries.gotable_head.gosupportedTableHeadDialectstable_cardinality.gosqlutil.goresource_watermark.goQuery Support Summary:
percentile_approx(),stddev_samp()3. Backend - Other (
runtime/,cli/) - 2 filesruntime/drivers/olap.gocli/cmd/runtime/start.go4. Frontend (
web-common/,web-local/) - 8 filesweb-common/src/features/sources/modal/yupSchemas.tsweb-common/src/features/sources/modal/constants.tsweb-common/src/features/sources/modal/icons.tsweb-common/src/features/connectors/connectors-utils.tsweb-common/src/features/connectors/connector-icon-mapping.tsweb-common/src/components/icons/connectors/StarRocks.svelteweb-common/src/components/icons/connectors/StarRocksIcon.svelteweb-local/src/routes/.../connector/starrocks/[name]/[database]/[schema]/[table]/+page.svelteweb-local/src/routes/.../connector/starrocks/+page.ts5. Documentation - 1 file
docs/docs/build/connectors/olap/starrocks.mdStarRocks Naming Mapping
databasedefault_catalog,iceberg_catalogdatabaseSchematpcds_100gb,my_databasetablestore_sales,customerTested
Known Limitations