querying-aws-sagemaker-catalog

Runs SQL analytics on SageMaker Catalog asset metadata exported as Iceberg tables in S3 Tables.

Updated Jul 1, 2026
One-click install
npx skills add https://github.com/sakicodes/BuildFestHackathon26 --skill querying-aws-sagemaker-catalog-sakicodes
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: querying-aws-sagemaker-catalog
Source: https://github.com/sakicodes/BuildFestHackathon26/tree/main/.agents/skills/querying-aws-sagemaker-catalog
Command: npx skills add https://github.com/sakicodes/BuildFestHackathon26 --skill querying-aws-sagemaker-catalog-sakicodes

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Data teams need visibility into their SageMaker Catalog inventory—asset counts, governance gaps, ownership, and historical changes—without building custom ETL pipelines. This Skill enables direct SQL analytics over the daily-snapshot Apache Iceberg table that SageMaker Unified Studio exports to S3 Tables. ## Core Features & Use Cases - Catalog Inventory Analytics: Count assets by type, track growth over time, and audit ownership using Athena SQL against the asset_metadata.asset table. - Governance & Quality Audits: Find assets missing business descriptions, filter by metadata form fields, and identify undocumented resources. - Time-Travel Comparisons: Compare catalog snapshots across dates to detect what changed, such as newly added descriptions or new assets. - Setup & Permissions Guidance: Covers enabling the DataZone export configuration, verifying the S3 table bucket, and granting Lake Formation SELECT/DESCRIBE permissions. - Use Case: A data governance lead asks "which assets have no owner?" and gets a SQL query grouping assets by extended_metadata['owningEntityId'] filtered to the current snapshot. ## Quick Start Ask the assistant to show how many assets of each type exist in the SageMaker Catalog today, and it will generate and run the appropriate Athena SQL query filtered by the current snapshot_time.

Frequently Asked Questions about querying-aws-sagemaker-catalog

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I query the SageMaker Catalog asset metadata with SQL?

Query the table "s3tablescatalog/aws-sagemaker-catalog"."asset_metadata"."asset" in Athena, always filtering by snapshot_time such as DATE(snapshot_time) = CURRENT_DATE. Without the snapshot filter, queries scan all historical snapshots and return duplicates.

How do I find assets without descriptions in AWS data catalog?

Filter the asset_metadata.asset table where business_description IS NULL and DATE(snapshot_time) = CURRENT_DATE. This returns all catalog assets missing business context, which is useful for governance gap analysis.

Why does my SageMaker Catalog query return duplicate rows?

Duplicates occur when the snapshot_time partition filter is missing, causing the query to scan every daily historical snapshot. Add WHERE DATE(snapshot_time) = CURRENT_DATE to restrict results to the latest catalog state.

How do I enable the SageMaker Catalog metadata export to S3 Tables?

Run aws datazone put-data-export-configuration with --enable-export for your domain, optionally specifying KMS encryption which cannot be changed later. The first data export takes up to 24 hours to appear in the aws-sagemaker-catalog table bucket.

Why do I get AccessDenied when querying the catalog table?

AccessDenied means the querying role lacks Lake Formation grants on the asset_metadata.asset table. Grant SELECT and DESCRIBE permissions to the role on the table under the s3tablescatalog/aws-sagemaker-catalog catalog.

Can I update catalog asset metadata through this export table?

No, the exported Iceberg table is read-only. To update asset metadata such as descriptions or tags, use Glue Discovery APIs like put-form-type or the SageMaker Unified Studio interface.