creating-data-lake-table

Creates managed Iceberg tables on Amazon S3 Tables with Glue catalog registration and IAM access control.

Updated Jul 21, 2026
One-click install
npx skills add https://github.com/richardnroman/Synthetic-Data-Exchange-Licensing-Platform --skill creating-data-lake-table-richardnroman
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: creating-data-lake-table
Source: https://github.com/richardnroman/Synthetic-Data-Exchange-Licensing-Platform/tree/main/.agents/skills/creating-data-lake-table
Command: npx skills add https://github.com/richardnroman/Synthetic-Data-Exchange-Licensing-Platform --skill creating-data-lake-table-richardnroman

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Setting up analytics-ready data lake tables on AWS requires coordinating many moving parts: table buckets, namespaces, Iceberg schemas, Glue catalog federation, partitioning, and IAM permissions. This Skill guides an AI agent through the entire Amazon S3 Tables creation workflow correctly, avoiding common pitfalls like wrong IAM namespaces, LOCATION clauses, and case-sensitivity errors. ## Core Features & Use Cases - End-to-End Table Provisioning: Creates table buckets, namespaces, and Iceberg tables via the s3tables API, then registers the s3tablescatalog federated catalog in Glue for Athena querying. - Multiple Creation Paths: Supports the default S3 Tables API, Athena DDL for SQL-first users and schema evolution, and Spark DDL via Glue ETL jobs with correct --conf static configuration. - Least-Privilege Access Control: Configures s3tables:* bucket policies and glue:* IAM policies scoped to exact ARN patterns, including SSE-KMS key requirements. - Use Case: A data engineer asks the agent to create a partitioned customer_orders Iceberg table queryable from Athena. The Skill checks for existing tables, creates the bucket and namespace, registers the Glue catalog, applies IAM permissions, and verifies queryability with DESCRIBE. ## Quick Start Ask the agent to create a new Iceberg data lake table on Amazon S3 Tables with your desired schema and partition strategy, and have it verify the table is queryable in Athena.

Frequently Asked Questions about creating-data-lake-table

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

FAQPage Schema
How do I create an Iceberg table on Amazon S3 Tables?▼

Create a table bucket with aws s3tables create-table-bucket, add a namespace, then run aws s3tables create-table with Iceberg metadata JSON defining the schema and partition spec. Register the s3tablescatalog federated catalog in Glue to make the table queryable from Athena.

How to create S3 Tables using Athena DDL instead of the API?▼

Use CREATE TABLE with TBLPROPERTIES ('table_type' = 'ICEBERG') and pass the catalog via --query-execution-context, never in the SQL. Do not include a LOCATION clause since S3 Tables manages storage automatically, and use an Athena engine version 3 workgroup.

Why does my S3 Tables query fail with AccessDeniedException?▼

S3 Tables uses the s3tables:* IAM namespace, not s3:*, so policies granting s3:GetObject will not work. Grant actions like s3tables:GetTable and s3tables:GetTableData on the bucket and table ARNs, plus glue:GetCatalog, glue:GetDatabase, and glue:GetTable.

Can I use AWS Glue ETL jobs to create and write S3 Tables?▼

Yes, Glue 5.1 or higher supports Iceberg on S3 Tables with --datalake-formats iceberg. Catalog configuration must be passed via the --conf job argument because spark.conf.set() fails on static configs in Glue 5.x.

Why does Glue reject my table or namespace names?▼

Glue requires all lowercase names and throws GENERIC_INTERNAL_ERROR for mixed case. Namespace and table names must not contain hyphens; use lowercase with underscores, while table bucket names may include hyphens.

When should I not use this table creation skill?▼

Do not use it for importing existing files into tables, querying existing tables, vector storage, or locating existing data lake assets. Those scenarios are handled by dedicated ingestion, querying, vector, and discovery skills instead.