> For the complete documentation index, see [llms.txt](https://docs.e6data.com/product-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.e6data.com/product-documentation/table-formats/apache-iceberg.md).

# Apache Iceberg

e6data supports querying **Apache Iceberg™** tables via external catalogs such as **Snowflake Open Catalog**, **AWS Glue**, and **Apache Polaris**. Iceberg is a high-performance, open table format built for large-scale analytics with support for **schema evolution**, **partitioning**, and **metadata versioning**.

[Connect to Catalog](/product-documentation/table-formats/apache-iceberg/connect-to-catalog.md)

**How It Works**

e6data connects to catalogs that expose Iceberg metadata using the **Apache Iceberg REST protocol**. These catalogs fall into two categories:

* **Internal Catalogs** (e.g., Polaris): Fully managed by the provider. e6data can perform **read operations**, and in some cases **write operations** (where supported). Snowflake can only **read** from these catalogs.
* **External Catalogs** (e.g., AWS Glue, Snowflake Open Catalog): Managed by third-party systems. Iceberg tables from these catalogs are **synced** into Open Catalogs and are **read-only** for external engines like e6data.

e6data queries Iceberg tables by accessing metadata from these connected catalogs.

#### **What Is Supported**

* Reading Iceberg tables via:
  * Snowflake Open Catalog
  * AWS Glue
  * Apache Polaris
* Support for **partitioned** and **non-partitioned** Iceberg tables (depending on catalog configuration).
* Access to Iceberg metadata: **schemas**, **partitions**, and basic **statistics**.
* Catalog integration through the **Iceberg REST protocol**.

#### **What Is Not Supported (Future Release)**

* Writing to Iceberg tables from e6data.
* Creating Iceberg tables via the e6data UI.
* Clustering operations (e.g., re-clustering or compaction).
* Full metadata synchronization when Iceberg tables are written from multiple engines.

#### **Sample Queries**

```
-- List all tables from a catalog namespace
SHOW TABLES FROM glue_catalog.sales;

-- Query records from an Iceberg table
SELECT *
FROM glue_catalog.sales.q1_orders
WHERE total_amount > 1000;
```

<br>

&#x20; &#x20;
