

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 查詢 Iceberg 資料表資料
<a name="querying-iceberg-table-data"></a>

若要查詢 Iceberg 資料集，請使用標準 `SELECT` 陳述式，如下所示。查詢會遵循 Apache Iceberg [V2 格式規格](https://iceberg.apache.org/spec/#format-versioning)並在兩方位置執行讀取時合併且刪除相同項目。

```
SELECT * FROM [db_name.]table_name [WHERE predicate]
```

為了盡量縮短查詢時間，所有述詞都會被推送到資料所在的位置。

如需有關時間歷程和版本歷程查詢的資訊，請參閱 [執行時間歷程和版本歷程查詢](querying-iceberg-time-travel-and-version-travel-queries.md)。

## 使用 Iceberg 資料表建立和查詢檢視
<a name="querying-iceberg-views"></a>

若要在 Iceberg 資料表上建立和查詢 Athena 檢視，請遵循 [使用檢視](views.md) 中所述使用 `CREATE VIEW` 檢視。

範例：

```
CREATE VIEW view1 AS SELECT * FROM iceberg_table
```

```
SELECT * FROM view1 
```

如果您有興趣使用 [Iceberg 檢視規格](https://github.com/apache/iceberg/blob/master/format/view-spec.md)來建立檢視，請聯絡 [athena-feedback@amazon.com](mailto:athena-feedback@amazon.com)。

## 查詢 Iceberg 資料表中繼資料
<a name="querying-iceberg-table-metadata"></a>

在 `SELECT` 查詢中，您可以在 *table\$1name* 之後使用下列屬性來查詢 Iceberg 資料表中繼資料：
+ **\$1files** – 顯示資料表的目前資料檔案。
+ **\$1manifests** – 顯示資料表的目前檔案清單檔案。
+ **\$1history** – 顯示資料表的歷程記錄。
+ **\$1partitions** – 顯示資料表的目前分割區。
+ **\$1snapshots** – 顯示資料表的快照。
+ **\$1refs** – 顯示資料表的參考。

### 範例
<a name="querying-iceberg-table-metadata-syntax"></a>

下列陳述式會列出 Iceberg 資料表的檔案。

```
SELECT * FROM "dbname"."tablename$files"
```

下列陳述式會列出 Iceberg 資料表的清單檔案。

```
SELECT * FROM "dbname"."tablename$manifests" 
```

下列陳述式會顯示 Iceberg 資料表的歷程記錄。

```
SELECT * FROM "dbname"."tablename$history"
```

下列範例會顯示 Iceberg 資料表的分割區。

```
SELECT * FROM "dbname"."tablename$partitions" 
```

下列範例會列出 Iceberg 資料表的快照。

```
SELECT * FROM "dbname"."tablename$snapshots" 
```

下列範例會顯示 Iceberg 資料表的參考。

```
SELECT * FROM "dbname"."tablename$refs" 
```

## 使用 Lake Formation 精細存取控制
<a name="querying-iceberg-working-with-lf-fgac"></a>

Athena 引擎版本 3 支援 Lake Formation 與 Iceberg 資料表的精細存取控制，包括資料欄層級和資料列層級的安全存取控制。此存取控制適用於時間歷程查詢及已執行結構描述演變的資料表。如需詳細資訊，請參閱[Lake Formation 精細存取控制和 Athena 工作群組](lf-athena-limitations.md#lf-athena-limitations-fine-grained-access-control)。

如果您在 Athena 外部建立了 Iceberg 資料表，則請使用 [Apache Iceberg SDK](https://iceberg.apache.org/releases/) 版本 0.13.0 或更高版本，以便將您的 Iceberg 資料表資料欄資訊填入 AWS Glue Data Catalog。如果您的 Iceberg 資料表不包含 中的資料欄資訊 AWS Glue，您可以使用 Athena [ALTER TABLE SET TBLPROPERTIES](querying-iceberg-alter-table-set-properties.md)陳述式或最新的 Iceberg SDK 來修正資料表並更新其中的資料欄資訊 AWS Glue。