Catalog Integration in depth
Catalog Integration is the Snowflake object that points at an external metastore. CATALOG_SOURCE = GLUE means "read schemas from AWS Glue Data Catalog". CATALOG_NAMESPACE scopes which Glue database Snowflake can see. ENABLED = TRUE turns on the connection.
CREATE OR REPLACE CATALOG INTEGRATION glueCatalog_WarehouseWeatherData
CATALOG_SOURCE = GLUE
CATALOG_NAMESPACE = 'warehouse_weather_data'
TABLE_FORMAT = ICEBERG
GLUE_AWS_ROLE_ARN = 'arn:aws:iam::xxxxxxxxxxxx:role/snowflake_service_role'
GLUE_CATALOG_ID = 'xxxxxxxxxxxx'
GLUE_REGION = 'us-east-1'
ENABLED = TRUE
REFRESH_INTERVAL_SECONDS = 600;The full Catalog Integration DDL. The role ARN here must trust Snowflake; the trust policy follows shortly. REFRESH_INTERVAL_SECONDS controls how often Snowflake re-reads the Glue catalog.
Refresh interval is a freshness-versus-cost tradeoff. 600 seconds (10 minutes) is the practical floor for most workloads. Too short and Snowflake hammers the Glue catalog. Too long and dashboards lag the writer.
No. CATALOG_NAMESPACE is one Glue database. Multiple databases mean multiple Catalog Integration objects in Snowflake. That is intentional: scoping the namespace narrows the IAM permissions you have to grant Snowflake.
Quiz: Quiz
Loading practice…