<@U0A71G31CDV> I have starrocks installed using op...
# questions-and-troubleshooting
s
@Rocky I have starrocks installed using operator helm on EKS and using external AWS Glue catalog for iceberg tables, can I create or read from the iceberg views inside a glue catalog. I have used following query to create catalog
Copy code
CREATE EXTERNAL CATALOG `xeno_prod_ib`
PROPERTIES ("aws.glue.use_aws_sdk_default_behavior"  =  "true",
"enable_iceberg_metadata_cache"  =  "true",
"aws.s3.region"  =  "ap-south-1",
"aws.glue.region"  =  "ap-south-1",
"iceberg_table_cache_refresh_interval_sec"  =  "60",
"type"  =  "iceberg",
"aws.s3.use_aws_sdk_default_behavior"  =  "true",
"iceberg.catalog.type"  =  "glue"
)
r
Yes, you can read from and create Iceberg views in an AWS Glue catalog, but the level of support depends on your StarRocks version: 1. Reading Iceberg Views * Version Required: StarRocks v3.3.2+. * Requirement: StarRocks supports the Apache Iceberg View Specification. * Compatibility: If the Iceberg view was created by another engine (e.g., Spark, Trino, or Athena), StarRocks may not be able to parse it directly because it expects a "StarRocks dialect" in the view metadata. * Since v3.5, you can "fix" this by adding the StarRocks dialect to an existing view using the following command:
Copy code
sql
        ALTER VIEW xeno_prod_ib.db_name.view_name ADD DIALECT
        SELECT ... -- Your StarRocks-compatible SQL definition here
2. Creating Iceberg Views * Version Required: StarRocks v3.5+ (Beta support for HMS was added in 3.5.0; general Iceberg View DDL is expanded in later versions). * Glue Support: While initial v3.5 release notes highlighted Hive Metastore (HMS), StarRocks' support for Iceberg views generally extends to Glue catalogs as they share the same underlying Iceberg library logic for view metadata storage. * Syntax:
Copy code
sql
    CREATE VIEW xeno_prod_ib.db_name.view_name AS
    SELECT ...
    FROM xeno_prod_ib.db_name.table_name;
* Properties (v4.0.3+): If you are on v4.0.3 or higher, you can also include view properties during creation. Summary of Requirements * To Read: Ensure you are on at least v3.3.2. If the view is external, you likely need v3.5+ to use
ALTER VIEW ... ADD DIALECT
. * To Create: Ensure you are on at least v3.5. Note on Glue Metadata Iceberg views in Glue are stored as Glue Table objects with a specific parameter
table_type=VIRTUAL_VIEW
. Make sure your IAM role for EKS (the one used in
aws.glue.use_aws_sdk_default_behavior
) has permissions for
glue:CreateView
,
glue:GetView
,
glue:UpdateView
, and
glue:DeleteView
(or the equivalent table-level permissions like
glue:CreateTable
and
glue:GetTable
since Glue often treats these as tables). If you encounter a "Table not found" or "Not supported" error, please verify your StarRocks FE version using
SELECT VERSION();
. References • data_source/feature-support-data-lake-analytics.md • data_source/catalog/iceberg/DDL.md • data_source/catalog/iceberg/iceberg_catalog.md
s
@Rocky My StarRocks version is:
4.1.4-4a9848e
. Still I am getting this error:
Copy code
SQL Error [1064] [42000]: This catalog doesn't support creating/alter views
when I am trying to create view using this command:
Copy code
CREATE VIEW xeno_prod_ib.zenmaster_new.parent_commlog_aggregate
AS
SELECT * FROM xeno_prod_ib.xeno_sql_zenmaster_new.parent_commlog_aggregate
WHERE _op_type <> 'd';
r
The error message
SQL Error [1064] [42000]: This catalog doesn't support creating/alter views
indicates that while StarRocks v3.5+ generally supports Iceberg views, the direct Glue catalog connector (
"iceberg.catalog.type" = "glue"
) currently does not support the DDL for creating or altering Iceberg views. In StarRocks, Iceberg View DDL was initially implemented for Hive Metastore (HMS) and REST-based catalogs. For standard AWS Glue catalogs, StarRocks can read existing views (if they follow the Iceberg spec), but it cannot currently create them because Glue handles view metadata differently than the standard Iceberg metadata pointers used by other backends. To resolve this or work around it, you have two options: 1. Use the Iceberg REST Catalog (Recommended for Glue + Views) AWS Glue now provides an Iceberg REST endpoint. StarRocks v4.1 has enhanced support for REST catalogs. By using the REST interface, you can leverage the full Iceberg View specification that StarRocks supports. Try creating a new catalog using the REST type pointing to the Glue endpoint:
Copy code
sql
CREATE EXTERNAL CATALOG `xeno_prod_ib_rest`
PROPERTIES (
    "type" = "iceberg",
    "iceberg.catalog.type" = "rest",
    "iceberg.catalog.uri" = "<https://glue>.<your-region>.<http://amazonaws.com/iceberg|amazonaws.com/iceberg>",
    "iceberg.catalog.rest.sigv4-enabled" = "true",
    "iceberg.catalog.rest.signing-name" = "glue",
    "aws.s3.region" = "ap-south-1",
    "aws.s3.use_aws_sdk_default_behavior" = "true"
);
Note: This requires your IAM role to have permissions for the Glue REST operations and SigV4 signing. 2. Create the View in StarRocks' Internal Catalog If you don't strictly need the view metadata to be stored inside the Glue/Iceberg catalog (e.g., if only StarRocks will use this view), you can create a standard StarRocks view that references the external Iceberg tables. Instead of creating the view inside the external catalog, create it in a StarRocks database:
Copy code
sql
-- Create a local DB in StarRocks (default_catalog)
CREATE DATABASE IF NOT EXISTS local_views;

-- Create the view here, referencing the external Iceberg catalog
CREATE VIEW local_views.parent_commlog_aggregate
AS
SELECT * 
FROM xeno_prod_ib.xeno_sql_zenmaster_new.parent_commlog_aggregate
WHERE _op_type <> 'd';
Summary of Status * Version 4.1.x: Supports Iceberg views on HMS and REST catalogs. * Direct Glue Connector: Currently limited to reading/writing tables. Creation of views within the Glue catalog via StarRocks DDL is not yet supported in the
iceberg.catalog.type = "glue"
implementation. References • data_source/catalog/iceberg/DDL.md • release_notes/release-4.1.md • data_source/catalog/iceberg/iceberg_catalog.md References • data_source/catalog/iceberg/DDL.md • data_source/feature-support-data-lake-analytics.md • data_source/catalog/iceberg/iceberg_catalog.md