

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

# 對 Athena 中的問題進行疑難排解
<a name="troubleshooting-athena"></a>

Athena 團隊收集了以下客戶問題的疑難排解資訊。雖然不是非常詳盡，但其中包括關於效能、逾時和記憶體不足等一些常見問題的建議。

**Topics**
+ [CREATE TABLE AS SELECT (CTAS)](#troubleshooting-athena-create-table-as-select-ctas)
+ [資料檔案問題](#troubleshooting-athena-data-file-issues)
+ [Linux Foundation Delta Lake 資料表](#troubleshooting-athena-delta-lake-tables)
+ [聯合查詢](#troubleshooting-athena-federated-queries)
+ [JSON 相關錯誤](#troubleshooting-athena-json-related-errors)
+ [MSCK REPAIR TABLE](#troubleshooting-athena-msck-repair-table)
+ [輸出問題](#troubleshooting-athena-output-issues)
+ [Parquet 問題](#troubleshooting-athena-parquet-issues)
+ [分割問題](#troubleshooting-athena-partitioning-issues)
+ [許可](#troubleshooting-athena-permissions)
+ [查詢語法問題](#troubleshooting-athena-query-syntax-issues)
+ [查詢逾時問題](#troubleshooting-athena-query-timeout-issues)
+ [調節問題](#troubleshooting-athena-throttling-issues)
+ [檢視](#troubleshooting-athena-views)
+ [工作群組](#troubleshooting-athena-workgroups)
+ [其他資源](#troubleshooting-athena-additional-resources)
+ [Athena 錯誤目錄](error-reference.md)

## CREATE TABLE AS SELECT (CTAS)
<a name="troubleshooting-athena-create-table-as-select-ctas"></a>

### 並行的 CTAS 陳述式發生重複的資料
<a name="troubleshooting-athena-duplicated-data-occurs-with-concurrent-ctas-statements"></a>

Athena 不會維持並行的 CTAS 驗證。請確定在同一時間相同的位置沒有重複的 CTAS 陳述式。即使 CTAS 或 INSERT INTO 陳述式失敗，孤立的資料仍可以留在陳述式中指定的資料位置。

### HIVE\$1TOO\$1MANY\$1OPEN\$1PARTITIONS
<a name="troubleshooting-athena-ctas-hive-too-many-open-partitions"></a>

當您使用 CTAS 陳述式建立具有超過 100 個分割區的資料表時，您可能會收到錯誤 HIVE\$1TOO\$1MANY\$1OPEN\$1PARTITIONS: Exceeded limit of 100 open writers for partitions/buckets (HIVE\$1TOO\$1MANY\$1OPEN\$1PARTITIONS：超過分割區／儲存貯體 100 個開啟寫入器的限制)。若要避開此限制，您可以使用 CTAS 陳述式和一系列的 `INSERT INTO` 陳述式，每個陳述式可建立或插入最多 100 個分割區。如需詳細資訊，請參閱[使用 CTAS 和 INSERT INTO 來解決 100 個分割區限制](ctas-insert-into.md)。

## 資料檔案問題
<a name="troubleshooting-athena-data-file-issues"></a>

### Athena 無法讀取隱藏的檔案
<a name="troubleshooting-athena-athena-cannot-read-hidden-files"></a>

Athena 會將以底線 (\$1) 或點 (.) 開頭的來源檔案視為隱藏。如果要解決這個限制，請將檔案重新命名。

### Athena 會讀取我從 AWS Glue 爬蟲程式中排除的檔案
<a name="troubleshooting-athena-athena-reads-files-that-i-excluded-from-the-glue-crawler"></a>

Athena 無法辨識[排除您指定爬蟲程式的模式](https://docs.aws.amazon.com/glue/latest/dg/define-crawler.html#crawler-data-stores-exclude)。 AWS Glue 例如，如果您的 Simple Storage Service (Amazon S3) 儲存貯體同時包含 `.csv` 和 `.json` 檔案，並且您將 `.json` 檔案從爬蟲程式中排除，Athena 會查詢這兩個檔案群組。若要避免這種情況，請將您要排除的檔案放在不同的位置。

### HIVE\$1BAD\$1DATA：剖析欄位值時發生錯誤
<a name="troubleshooting-athena-hive_bad_data-error-parsing-field-value"></a>

在下列情況下可能會發生這個錯誤：
+ 資料表中定義的資料類型與來源資料不相符，或單一欄位包含不同類型的資料。如需建議的解決方案，請參閱 AWS 知識中心中的[我的 Amazon Athena 查詢失敗，出現錯誤「HIVE\$1BAD\$1DATA：剖析欄位 X 的欄位值時發生錯誤：對於輸入字串："12312845691"」](https://aws.amazon.com/premiumsupport/knowledge-center/athena-hive-bad-data-parsing-field-value/)。
+ 整數欄位中存在 Null 值。一種解決方法是建立帶有 null 值的資料欄作為 `string`，然後使用 `CAST` 來轉換查詢中的欄位，並為 null 提供 `0` 預設值。如需詳細資訊，請參閱 AWS 知識中心中的[當我在 Athena 中查詢 CSV 資料時，出現錯誤「HIVE\$1BAD\$1DATA：剖析欄位 X 的欄位值時發生錯誤：對於輸入字符串：""」](https://aws.amazon.com/premiumsupport/knowledge-center/athena-hive-bad-data-error-csv/)。

### HIVE\$1CANNOT\$1OPEN\$1SPLIT：開啟 Hive 分割時發生錯誤 s3://amzn-s3-demo-bucket
<a name="troubleshooting-athena-hive_cannot_open_split-error-opening-hive-split-s3bucket-name"></a>

當您查詢具有大量物件的 Simple Storage Service (Amazon S3) 儲存貯體字首時，可能會發生此錯誤。如需詳細資訊，請參閱 AWS 知識中心中的[如何在 Athena 中解決「HIVE\$1CANNOT\$1OPEN\$1SPLIT：開啟 Hive 分割時發生錯誤 split s3://amzn-s3-demo-bucket/：減慢」錯誤？](https://aws.amazon.com/premiumsupport/knowledge-center/hive-cannot-open-split-503-athena/)。

### HIVE\$1CURSOR\$1ERROR：com.amazonaws.services.s3.model.AmazonS3Exception：指定的索引鍵不存在
<a name="troubleshooting-athena-hive_cursor_error-com.amazonaws.services.s3.model.amazons3exception-the-specified-key-does-not-exist"></a>

當查詢正在執行時移除檔案時，通常會發生這個錯誤。重新執行查詢，或檢查您的工作流程，以查看在查詢執行時是否有其他任務或程序正在修改檔案。

### HIVE\$1CURSOR\$1ERROR：輸入串流的意外結束
<a name="troubleshooting-athena-hive_cursor_error-unexpected-end-of-input-stream"></a>

此訊息表示檔案已損毀或空白。檢查檔案的完整性，並重新執行查詢。

### HIVE\$1FILESYSTEM\$1ERROR：檔案的不正確的檔案大小 *1234567*
<a name="troubleshooting-athena-hive_filesystem_error-incorrect-file-size"></a>

當檔案已在查詢規劃和查詢執行之間變更時，就會發生此訊息。這通常發生在就地取代 Simple Storage Service (Amazon S3) 上的檔案時 (例如 `PUT` 在物件已經存在的索引鍵上執行)。Athena 不支援在執行查詢時刪除或取代檔案的內容。若要避免此錯誤，請安排在查詢未執行時覆寫或刪除檔案的任務，或僅將資料寫入新的檔案或分割區。

### HIVE\$1UNKNOWN\$1ERROR：無法建立輸入格式
<a name="troubleshooting-athena-hive_unknown_error-unable-to-create-input-format"></a>

此錯誤可能是由以下問題所造成：
+  AWS Glue 爬蟲程式無法分類資料格式
+ 某些 AWS Glue 資料表定義屬性為空白
+ Athena 不支援 Simple Storage Service (Amazon S3) 中檔案的資料格式

如需詳細資訊，請參閱 AWS 知識中心中的[如何在 Athena 中解決「無法建立輸入格式」錯誤？](https://aws.amazon.com/premiumsupport/knowledge-center/athena-unable-to-create-input-format/)或觀看知識中心的[影片](https://www.youtube.com/watch?v=CGzXW3hRa8g)。

### 提供用於儲存查詢結果的 S3 位置無效。
<a name="troubleshooting-athena-the-s3-location-provided-to-save-your-query-results-is-invalid."></a>

請確保已為查詢結果指定有效的 S3 位置。如需詳細資訊，請參閱 [使用查詢結果和近期查詢](querying.md) 主題中的 [指定查詢結果位置](query-results-specify-location.md)。

## Linux Foundation Delta Lake 資料表
<a name="troubleshooting-athena-delta-lake-tables"></a>

### Delta Lake 資料表結構描述不同步
<a name="troubleshooting-athena-delta-lake-table-schema-out-of-sync"></a>

當您在 中查詢結構描述已過期的 Delta Lake 資料表 AWS Glue 時，您可能會收到下列錯誤訊息：

```
INVALID_GLUE_SCHEMA: Delta Lake table schema in Glue does not match the most recent schema of the 
Delta Lake transaction log. Please ensure that you have the correct schema defined in Glue.
```

如果在新增至 Athena AWS Glue 之後在 中修改結構描述，結構描述可能會過期。若要更新結構描述，請執行下列其中一個步驟：
+ 在 中 AWS Glue，執行[AWS Glue 爬蟲程式](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html)。
+ 在 Athena 中，[捨棄資料表](drop-table.md)並再次[創建](create-table.md)它。
+ 可以透過使用 Athena 中的 [ALTER TABLE ADD COLUMNS](alter-table-add-columns.md) 陳述式，或[編輯 AWS Glue中的資料表結構描述](https://docs.aws.amazon.com/glue/latest/dg/console-tables.html#console-tables-details)，手動新增遺失的資料欄。

## 聯合查詢
<a name="troubleshooting-athena-federated-queries"></a>

### 呼叫 ListTableMetadata 時逾時
<a name="troubleshooting-athena-federated-queries-list-table-metadata-timeout"></a>

如果資料來源中有很多資料表、資料來源緩慢或網路速度慢，則呼叫 [ListTableMetadata](https://docs.aws.amazon.com/athena/latest/APIReference/API_ListTableMetadata.html) API 可能會逾時。若要對此問題進行疑難排解，請嘗試下列步驟。
+ **檢查資料表數量** – 如果您有 1000 個以上的資料表，請嘗試減少資料表數量。為了最快獲得 `ListTableMetadata` 回應，我們建議每個目錄的資料表數量少於 1000。
+ **檢查 Lambda 組態** – 監控 Lambda 函數行為非常重要。使用聯合目錄時，請務必檢查 Lambda 函數的執行日誌。根據結果，相應地調整記憶體和逾時值。若要找出任何潛在的逾時問題，請重新檢視 Lambda 組態。如需詳細資訊，請參閱《*AWS Lambda 開發人員指南*》中的[設定 Lambda 函數逾時 (主控台)](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-timeout-console)。
+ **檢查聯合資料來源日誌** – 檢查來自聯合資料來源的日誌和錯誤訊息，以查看是否有任何問題或錯誤。日誌可以提供有關逾時原因的寶貴見解。
+ **使用 `StartQueryExecution` 擷取中繼資料** – 如果您有 1000 個以上的資料表，則使用聯合連接器擷取中繼資料可能需要比預期更長的時間。由於 [StartQueryExecution](https://docs.aws.amazon.com/athena/latest/APIReference/API_StartQueryExecution.html) 的非同步本質可確保 Athena 以最佳方式執行查詢，因此請考慮使用 `StartQueryExecution` 作為 `ListTableMetadata` 的替代。下列 AWS CLI 範例示範`StartQueryExecution`如何使用 ，而不是 `ListTableMetadata` 來取得資料目錄中資料表的所有中繼資料。

  首先，執行取得所有資料表的查詢，如下列範例所示。

  ```
  aws athena start-query-execution --region us-east-1 \
  --query-string "SELECT table_name FROM information_schema.tables LIMIT 50" \
  --work-group "your-work-group-name"
  ```

  接著，擷取個別資料表的中繼資料，如下列範例所示。

  ```
  aws athena start-query-execution --region us-east-1 \
  --query-string "SELECT * FROM information_schema.columns \
  WHERE table_name = 'your-table-name' AND \
  table_catalog = 'your-catalog-name'" \
  --work-group "your-work-group-name"
  ```

  取得結果所花費的時間取決於目錄中的資料表數量。

如需針對聯合查詢進行疑難排解的詳細資訊，請參閱 GitHub 於 awslabs/aws-athena-query-federation 一節中的 [Common\$1Problems](https://github.com/awslabs/aws-athena-query-federation/wiki/Common_Problems)，或是參閱有關各個 [Athena 資料來源連接器](connectors-available.md)的文件。

## JSON 相關錯誤
<a name="troubleshooting-athena-json-related-errors"></a>

### 嘗試讀取 JSON 資料時，發生 NULL 或資料不正確的錯誤
<a name="troubleshooting-athena-null-or-incorrect-data-errors-when-trying-to-read-json-data"></a>

當您嘗試讀取 JSON 資料時，NULL 或資料不正確的錯誤可能是由許多原因引發。若要找出在使用 OpenX SerDe 時造成錯誤的行，請將 `ignore.malformed.json` 設為 `true`。格式錯誤的記錄將以 NULL 的形式傳回。如需詳細資訊，請參閱 AWS 知識中心中的[當我嘗試在 Amazon Athena 中讀取 JSON 資料時出現錯誤](https://aws.amazon.com/premiumsupport/knowledge-center/error-json-athena/)或觀看知識中心的[影片](https://youtu.be/ME7Pv1qPFLM)。

### HIVE\$1BAD\$1DATA：剖析欄位 0 的欄位值時發生錯誤：java.lang.String 無法轉換為 org.openx.data.jsonserde.json.JSONObject
<a name="troubleshooting-athena-hive-bad-data-openx-json-serde"></a>

當 [OpenX JSON SerDe](openx-json-serde.md) 無法剖析 Athena 查詢中的資料欄時，會擲回此錯誤。如果您將資料欄定義為 `map` 或 `struct`，但基礎資料實際上是 `string`、`int` 或其他基本類型，就會發生此情況。

### HIVE\$1CURSOR\$1ERROR：資料行不是有效的 JSON 物件 - JSONException：重複索引鍵
<a name="troubleshooting-athena-hive_cursor_error-row-is-not-a-valid-json-object---jsonexception-duplicate-key"></a>

當您使用 Athena 查詢具有相同名稱之多個標籤 AWS Config 的資源時，會發生此錯誤。解決方案是使用 `WITH SERDEPROPERTIES 'case.insensitive'='false'` 執行 `CREATE TABLE` 並對應名稱。如需有關 `case.insensitive` 和映射的資訊，請參閱 [JSON SerDe 程式庫](json-serde.md)。如需詳細資訊，請參閱 AWS 知識中心的[如何在 Athena AWS Config 中讀取檔案時解析「HIVE\$1CURSOR\$1ERROR： Row 不是有效的 JSON 物件 - JSONException：複製金鑰」？](https://aws.amazon.com/premiumsupport/knowledge-center/json-duplicate-key-error-athena-config/)。

### 帶有適合列印 JSON 的 HIVE\$1CURSOR\$1ERROR 訊息
<a name="troubleshooting-athena-json-serde-hive-cursor-error"></a>

[Hive JSON SerDe](hive-json-serde.md) 和 [OpenX JSON SerDe](openx-json-serde.md) 程式庫預期每筆 JSON 文件都以單行文字表示，而且沒有行終止字元分隔記錄中的欄位。如果 JSON 文字是美化過的列印格式，則在建立資料表後嘗試在其中查詢時可能會收到下列錯誤訊息：HIVE\$1CURSOR\$1ERROR: Row is not a valid JSON Object (HIVE\$1CURSOR\$1ERROR：資料列不是有效的 JSON 物件) 或 HIVE\$1CURSOR\$1ERROR: JsonParseException: Unexpected end-of-input: expected close marker for OBJECT (HIVE\$1CURSOR\$1ERROR：JsonParseException：非預期的輸入結束：預期為 OBJECT 的關閉標記)。如需詳細資訊，請參閱 GitHub 上 OpenX SerDe 文件中的 [JSON 資料檔案](https://github.com/rcongiu/Hive-JSON-Serde#json-data-files)。

### 多個 JSON 記錄傳回 1 的 SELECT COUNT
<a name="troubleshooting-athena-multiple-json-records-return-a-select-count-of-1"></a>

如果您使用的是 [OpenX JSON SerDe](openx-json-serde.md)，請確保記錄是以換行符號字元分隔。如需詳細資訊，請參閱 [Amazon Athena 中的 SELECT COUNT 查詢僅傳回一筆記錄，即使輸入 JSON 檔案在 知識中心有多筆記錄](https://aws.amazon.com/premiumsupport/knowledge-center/select-count-query-athena-json-records/)。 AWS 

### 無法查詢使用自訂 JSON 分類器的 AWS Glue 爬蟲程式所建立的資料表
<a name="troubleshooting-athena-cannot-query-a-table-created-by-a-glue-crawler-that-uses-a-custom-json-classifier"></a>

Athena 引擎不支援[自訂 JSON 分類器](https://docs.aws.amazon.com/glue/latest/dg/custom-classifier.html#custom-classifier-json)。若要解決此問題，請在不使用自訂分類器的情況下建立新的資料表。若要轉換 JSON，您可以使用 CTAS 或建立檢視。例如，如果您正在使用陣列，則可以使用 UNNEST 選項來將 JSON 扁平化。另一個選項是使用支援自訂分類器的 AWS Glue ETL 任務，將資料轉換為 Amazon S3 中的 parquet，然後在 Athena 中查詢。

## MSCK REPAIR TABLE
<a name="troubleshooting-athena-msck-repair-table"></a>

如需有關 MSCK REPAIR TABLE 相關問題的資訊，請參閱 [MSCK REPAIR TABLE](msck-repair-table.md) 頁面的[考量和限制](msck-repair-table.md#msck-repair-table-considerations)和[疑難排解](msck-repair-table.md#msck-repair-table-troubleshooting)章節。

## 輸出問題
<a name="troubleshooting-athena-output-issues"></a>

### 無法驗證/建立輸出儲存貯體
<a name="troubleshooting-athena-unable-to-verifycreate-output-bucket"></a>

如果指定的查詢結果位置不存在，或者如果沒有適當的許可，就會發生此錯誤。如需詳細資訊，請參閱 AWS 知識中心中的[如何解決 Amazon Athena 中的「無法驗證/建立輸出儲存貯體」錯誤？](https://aws.amazon.com/premiumsupport/knowledge-center/athena-output-bucket-error/)。

### TIMESTAMP 結果為空
<a name="troubleshooting-athena-timestamp-result-is-empty"></a>

Athena 需要 Java TIMESTAMP 格式。如需詳細資訊，請參閱 AWS 知識中心中的[當我在 Amazon Athena 中查詢資料表時，TIMESTAMP 結果為空](https://aws.amazon.com/premiumsupport/knowledge-center/query-table-athena-timestamp-empty/)。

### 以 CSV 以外的格式存放 Athena 查詢輸出
<a name="troubleshooting-athena-store-athena-query-output-in-a-format-other-than-csv"></a>

依預設，Athena 僅會以 CSV 格式輸出檔案。若要以不同的格式輸出 `SELECT` 查詢結果，您可以使用 `UNLOAD` 陳述式。如需詳細資訊，請參閱[UNLOAD](unload.md)。您也可以使用 CTAS 查詢，其使用 `format` [資料表屬性](create-table-as.md#ctas-table-properties)以設定輸出格式。不像 `UNLOAD`，CTAS 技術需要建立資料表。如需詳細資訊，請參閱 AWS 知識中心的[如何以 CSV 以外的格式存放 Athena 查詢輸出，例如壓縮格式？](https://aws.amazon.com/premiumsupport/knowledge-center/athena-query-output-different-format/)。

### 提供用於儲存查詢結果的 S3 位置無效
<a name="troubleshooting-athena-the-s3-location-provided-to-save-your-query-results-is-invalid"></a>

如果輸出儲存貯體位置與查詢執行所在的區域不同，則可能會收到此錯誤訊息。若要避免這種情況，請在您執行查詢的區域中指定查詢結果位置。如需這些步驟，請參閱 [指定查詢結果位置](query-results-specify-location.md)。

## Parquet 問題
<a name="troubleshooting-athena-parquet-issues"></a>

### org.apache.parquet.io.GroupColumnIO 不能轉換為 org.apache.parquet.io.PrimitiveColumnIO
<a name="troubleshooting-athena-org.apache.parquet.io.groupcolumnio-cannot-be-cast-to-org.apache.parquet.io.primitivecolumnio"></a>

此錯誤是由 parquet 結構描述不相符造成。具有非基本類型的資料欄 (例如 `array`) 已在 AWS Glue中被宣告為基本類型 (例如 `string`)。若要針對這個問題進行疑難排解，請檢查檔案中的資料結構描述，並將其與 AWS Glue中宣告的結構描述相比較。

### Parquet 統計資料問題
<a name="troubleshooting-athena-parquet-statistics-issues"></a>

當您讀取 Parquet 資料時，您可能會收到下列錯誤訊息：

```
HIVE_CANNOT_OPEN_SPLIT: Index x out of bounds for length y
HIVE_CURSOR_ERROR: Failed to read x bytes
HIVE_CURSOR_ERROR: FailureException at Malformed input: offset=x
HIVE_CURSOR_ERROR: FailureException at java.io.IOException: 
can not read class org.apache.parquet.format.PageHeader: Socket is closed by peer.
```

若要解決此問題，請使用 [CREATE TABLE](create-table.md) 或 [ALTER TABLE SET TBLPROPERTIES](alter-table-set-tblproperties.md) 陳述式，將 Parquet SerDe `parquet.ignore.statistics` 屬性設定為 `true`，如下列範例所示。

CREATE TABLE 範例

```
...
ROW FORMAT SERDE  
'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 
WITH SERDEPROPERTIES ('parquet.ignore.statistics'='true')  
STORED AS PARQUET 
...
```

ALTER TABLE 範例

```
ALTER TABLE ... SET TBLPROPERTIES ('parquet.ignore.statistics'='true')
```

如需有關 Parquet Hive SerDe 的詳細資訊，請參閱 [Parquet SerDe](parquet-serde.md)。

## 分割問題
<a name="troubleshooting-athena-partitioning-issues"></a>

### MSCK REPAIR TABLE 不會移除過時的分割區
<a name="troubleshooting-athena-msck-repair-table-does-not-remove-stale-partitions"></a>

如果您在 Simple Storage Service (Amazon S3) 中手動刪除分割區，然後執行 MSCK REPAIR TABLE，就可能會收到錯誤訊息 Partitions missing from filesystem (檔案系統中遺失分割區)。這是因為 MSCK REPAIR TABLE 不會將過時的分割區從資料表中繼資料中移除。使用 [ALTER TABLE DROP PARTITION](alter-table-drop-partition.md) 以手動移除過時的分割區。如需詳細資訊，請參閱 [MSCK REPAIR TABLE](msck-repair-table.md) 主題中的「疑難排解」一節。

### MSCK REPAIR TABLE 失敗
<a name="troubleshooting-athena-msck-repair-table-failure"></a>

當大量的分割區 (例如，超過 100,000 個) 與特定資料表相關聯時，`MSCK REPAIR TABLE` 可能會因記憶體限制而失敗。若要解決此限制，請改用 [ALTER TABLE ADD PARTITION](alter-table-add-partition.md)。

### MSCK REPAIR TABLE 會偵測分割區，但不會將其新增至 AWS Glue
<a name="troubleshooting-athena-msck-repair-table-detects-partitions-but-doesnt-add-them-to-glue"></a>

如果 Simple Storage Service (Amazon S3) 路徑使用駝峰式大小寫而不是小寫，或者如果 IAM 政策不允許 `glue:BatchCreatePartition` 動作，就會發生這個問題。如需詳細資訊，請參閱《 AWS 知識中心》中的 [MSCK REPAIR TABLE 會偵測 Athena 中的分割區，但不會將其新增至 AWS Glue Data Catalog](https://aws.amazon.com/premiumsupport/knowledge-center/athena-aws-glue-msck-repair-table/)。

### 日期格式為 dd-MM-yyyy-HH-mm-ss 或 yyyy-MM-dd 的分割區投影範圍無法運作
<a name="troubleshooting-athena-partition-projection-ranges-with-the-date-format-of-dd-mm-yyyy-hh-mm-ss-or-yyyy-mm-dd-do-not-work"></a>

若要正常運作，必須將日期格式設定為 `yyyy-MM-dd HH:00:00`。如需詳細資訊，請參閱《堆疊溢出》帖文：[Athena 分割區投影無法如預期般運作](https://stackoverflow.com/questions/63943920/athena-partition-projection-not-working-as-expected)。

### PARTITION BY 不支援 BIGINT 類型
<a name="troubleshooting-athena-partition-by-doesnt-support-the-bigint-type"></a>

將資料類型轉換為 `string`，然後重試。

### 沒有可用的有意義分割區
<a name="troubleshooting-athena-no-meaningful-partitions-available"></a>

這個錯誤訊息通常表示分割區設定已損毀。若要解決這個問題，請捨棄該資料表，並建立具有新分割區的資料表。

### 分割區投影無法與範圍分割區搭配使用
<a name="troubleshooting-athena-partition-projection-does-not-work-in-conjunction-with-range-partitions"></a>

確認時間範圍單位 [projection.*<columnName>*.interval.unit](partition-projection-supported-types.md#partition-projection-date-type) 是否與分割區的分隔符號相符。例如，如果分割區以天分隔，則小時範圍單位將無法運作。

### 由連字號指定範圍時的分割區投影錯誤
<a name="troubleshooting-athena-partition-projection-range-issue-with-hyphen"></a>

使用連字號而不是逗號指定 `range` 資料表屬性會產生錯誤，例如 INVALID\$1TABLE\$1PROPERTY：針對輸入字串："*number*-*number*"。確定範圍值以逗號分隔，而非連字號。如需詳細資訊，請參閱[整數類型](partition-projection-supported-types.md#partition-projection-integer-type)。

### HIVE\$1UNKNOWN\$1ERROR：無法建立輸入格式
<a name="troubleshooting-athena-hive_unknown_error-unable-to-create-input-format-1"></a>

一或多個 glue 分割區以不同的格式宣告，因為每個 glue 分割區都有其自己的特定輸入格式。請檢查分割區的定義方式 AWS Glue。

### HIVE\$1PARTITION\$1SCHEMA\$1MISMATCH
<a name="troubleshooting-athena-hive_partition_schema_mismatch"></a>

如果分割區的結構描述與資料表的結構描述不同，查詢可能會失敗，並出現錯誤訊息 HIVE\$1PARTITION\$1SCHEMA\$1MISMATCH。

對於資料 AWS Glue 目錄中具有分割區資料欄的每個資料表，結構描述會存放在資料表層級，以及資料表中每個分割區的結構描述。 AWS Glue 爬蟲程式會根據在分割區中讀取的資料範例，填入分割區的結構描述。

當 Athena 執行查詢時，會驗證資料表的結構描述，以及查詢所需的任何分割區的結構描述。驗證會依序比較資料欄資料類型，並確認它們符合重疊的資料欄。這可避免意外的操作，例如從資料表中間新增或移除資料欄。如果 Athena 偵測到分割區的結構描述與資料表的結構描述不同，Athena 可能無法處理查詢，並且會在 `HIVE_PARTITION_SCHEMA_MISMATCH` 時操作失敗。

您有一些方式可以修正這個問題。首先，如果資料是意外新增，您可以移除造成結構描述中差異的資料檔案，捨棄分割區，並重新編目資料。第二，您可以捨棄個別分割區，然後在 Athena 內執行 `MSCK REPAIR`，以使用資料表的結構描述重新建立分割區。這個第二個選項只有在您確定套用的結構描述將可繼續正確讀取資料時才適用。

### SemanticException 資料表並未分割，但存在分割區規格
<a name="troubleshooting-athena-semanticexception-table-is-not-partitioned-but-partition-spec-exists"></a>

當未在 `CREATE TABLE` 陳述式中定義分割區時，就可能會發生此錯誤。如需詳細資訊，請參閱 AWS 知識中心中的[如何對 Athena 中的錯誤「FAILED： SemanticException 資料表未分割，但分割區規格存在」進行故障診斷？](https://aws.amazon.com/premiumsupport/knowledge-center/athena-failed-semanticexception-table/)。

### 零位元組 `_$folder$` 檔案
<a name="troubleshooting-athena-alter-table-add-partition-zero-byte-folder-files"></a>

如果您執行 `ALTER TABLE ADD PARTITION` 語句並錯誤地指定已存在的分區和不正確的 Simple Storage Service (Amazon S3) 位置，則格式為 `partition_value_$folder$` 的零位元組預留位置檔案會在 Simple Storage Service (Amazon S3) 中建立。您必須手動移除這些檔案。

若要防止這種情況發生，請使用 `ALTER TABLE ADD PARTITION` 陳述式中的 `ADD IF NOT EXISTS` 語法，如下所示：

```
ALTER TABLE table_name ADD IF NOT EXISTS PARTITIION […]
```

### 從分割資料傳回的零筆記錄
<a name="troubleshooting-athena-zero-records-returned-from-partitioned-data"></a>

基於各種原因，可能會發生此問題。如需可能的原因和解決方案，請參閱[我在 Amazon Athena 中使用定義的分割區建立資料表，但當我查詢資料表時， 知識中心會傳回零筆記錄](https://aws.amazon.com/premiumsupport/knowledge-center/athena-empty-results/)。 AWS 

另請參閱[HIVE\$1TOO\$1MANY\$1OPEN\$1PARTITIONS](#troubleshooting-athena-ctas-hive-too-many-open-partitions)。

## 許可
<a name="troubleshooting-athena-permissions"></a>

### 查詢 Amazon S3 時存取遭拒錯誤
<a name="troubleshooting-athena-access-denied-error-when-querying-amazon-s3"></a>

如果您沒有讀取儲存貯體中資料的許可、寫入結果儲存貯體的許可，或是 Simple Storage Service (Amazon S3) 路徑包含 `us-east-1.amazonaws.com` 之類的區域端點，就可能發生此狀況。如需詳細資訊，請參閱 AWS 知識中心中的[當我執行 Athena 查詢時，收到「存取遭拒」錯誤](https://aws.amazon.com/premiumsupport/knowledge-center/access-denied-athena/)。

### 在 Amazon S3 中對加密資料執行 DDL 查詢時發生存取遭拒，狀態碼：403 錯誤
<a name="troubleshooting-athena-access-denied-error-when-querying-amazon-s3-encrypted"></a>

如果以下條件為 true，您可能會收到錯誤訊息 AccessDenied (服務：Simple Storage Service (Amazon S3)；狀態碼：403；錯誤代碼：AccessDenied；請求 ID：*<request\$1id>*)：

1. 您執行 `ALTER TABLE ADD PARTITION` 或 `MSCK REPAIR TABLE` 這類 DDL 查詢。

1. 你有一個儲存貯體，其具有設定為使用 `SSE-S3` 的[預設加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-bucket-encryption.html)。

1. 該儲存貯體也有如下所示的儲存貯體政策，其會強制 `PutObject` 要求來指定 `PUT` 標頭 `"s3:x-amz-server-side-encryption": "true"` 和 `"s3:x-amz-server-side-encryption": "AES256"`。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Deny",
               "Principal": "*",
               "Action": "s3:PutObject",
               "Resource": "arn:aws:s3:::<resource-name>/*",
               "Condition": {
                   "Null": {
                       "s3:x-amz-server-side-encryption": "true"
                   }
               }
           },
           {
               "Effect": "Deny",
               "Principal": "*",
               "Action": "s3:PutObject",
               "Resource": "arn:aws:s3:::<resource-name>/*",
               "Condition": {
                   "StringNotEquals": {
                       "s3:x-amz-server-side-encryption": "AES256"
                   }
               }
           }
       ]
   }
   ```

------

在這種情況下，建議的解決方案是移除像上面那樣的儲存貯體政策，因為儲存貯體的預設加密已經存在。

### 在另一個帳戶中查詢 Amazon S3 儲存貯體時發生存取遭拒，狀態碼：403
<a name="troubleshooting-athena-access-denied-with-status-code-403-when-querying-an-amazon-s3-bucket-in-another-account"></a>

當您嘗試查詢由另一個 撰寫的日誌 AWS 服務 ，而第二個帳戶是儲存貯體擁有者，但不擁有儲存貯體中的物件時，可能會發生此錯誤。如需詳細資訊，請參閱 AWS 知識中心[中的當我查詢另一個帳戶中的儲存貯體時，在 Amazon Athena 中取得「存取遭拒且狀態碼為：403」的 Amazon S3 例外 Amazon Athena](https://aws.amazon.com/premiumsupport/knowledge-center/athena-access-denied-status-code-403/)狀況。

### 使用 IAM 角色憑證來連接至 Athena JDBC 驅動程式
<a name="troubleshooting-athena-use-IAM-role-credentials-to-connect-to-the-athena-jdbc-driver"></a>

您可以擷取角色的臨時憑證，以驗證 [JDBC 與 Athena 的連線](connect-with-jdbc.md)。臨時憑證的使用壽命上限為 12 小時。如需詳細資訊，請參閱 AWS 知識中心中的[如何在使用 JDBC 驅動程式連線至 Athena 時使用 IAM 角色登入資料或切換到另一個 IAM 角色？](https://aws.amazon.com/premiumsupport/knowledge-center/athena-iam-jdbc-driver/)。

### 尚未填入必要的資料表儲存描述項
<a name="troubleshooting-athena-access-denied-table-storage"></a>

當您嘗試查詢或檢視您沒有相關許可的資料表時，就會發生這種情況。為此，建議的解決方案是透過 授予 資源的 `DESCRIBE`和 `SELECT`許可 AWS Lake Formation。如果您的資源是跨帳戶共用，其中原始資源存在於帳戶 A 中，而且您想要查詢帳戶 B 中的連結資源。您必須確保您的角色具有帳戶 A 中原始資源的 `DESCRIBE` 許可，以及帳戶 B 中連結資源的 `SELECT` 許可。

## 查詢語法問題
<a name="troubleshooting-athena-query-syntax-issues"></a>

### 失敗：NullPointerException 名稱為 null
<a name="troubleshooting-athena-nullpointerexception-name-is-null"></a>

如果您使用 AWS Glue [CreateTable](https://docs.aws.amazon.com/glue/latest/webapi/API_CreateTable.html) API 操作或 CloudFormation [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html) 範本建立資料表以在 Athena 中使用，而不指定 `TableType` 屬性，然後執行 DDL 查詢，例如 `SHOW CREATE TABLE`或 `MSCK REPAIR TABLE`，您可以收到錯誤訊息 FAILED：NullPointerException 名稱為 null。

若要解決錯誤，請在 API 呼叫或[CloudFormation 範本](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html)中 AWS Glue `CreateTable`指定 [TableInput](https://docs.aws.amazon.com/glue/latest/webapi/API_TableInput.html) `TableType` 屬性的值。`TableType` 可能的值包括 `EXTERNAL_TABLE` 或 `VIRTUAL_VIEW`。

此要求僅適用於您使用 `CreateTable` API AWS Glue 操作或 `AWS::Glue::Table` 範本建立資料表時。如果您使用 DDL 陳述式或 AWS Glue 爬蟲程式建立 Athena 資料表，則系統會為您自動定義 `TableType` 屬性。

### 未註冊函數
<a name="troubleshooting-athena-function-not-registered"></a>

當您嘗試使用 Athena 不支援的函數時，就會發生這個錯誤。如需 Athena 支援的函數清單，請參閱 [Amazon Athena 中的函數](functions.md) 或在查詢編輯器中執行 `SHOW FUNCTIONS` 陳述式。您也可撰寫自己的[使用者定義函數 (UDF)](querying-udf.md)。如需詳細資訊，請參閱 AWS 知識中心中的[如何解決 Athena 中的「未註冊函數」語法錯誤？](https://aws.amazon.com/premiumsupport/knowledge-center/athena-syntax-function-not-registered/)。

### GENERIC\$1INTERNAL\$1ERROR 例外狀況
<a name="troubleshooting-athena-generic-internal-error"></a>

`GENERIC_INTERNAL_ERROR` 例外狀況可能有各式各樣的原因，其中包括下列原因：
+ **GENERIC\$1INTERNAL\$1ERROR: Null** – 您可能會在下列任一種情況下看到此例外狀況：
  + 資料表定義中的資料欄的資料類型與資料集的實際資料類型之間存在結構描述不相符。
  + 您正在執行 `CREATE TABLE AS SELECT` (CTAS) 查詢的語法不正確。
+ **GENERIC\$1INTERNAL\$1ERROR：父系建置器為 null** – 當您查詢具有資料類型 `array` 的資料欄的資料表時，可能會看到此例外狀況，並且您正在使用 OpenCSVSerDe 程式庫。OpenCSVSerde 格式不支援 `array` 資料類型。
+ **GENERIC\$1INTERNAL\$1ERROR：值超過 MAX\$1INT** – 當來源資料欄使用資料類型 `INT` 進行定義時，您可能會看到此例外狀況，而且具有大於 2,147,483,647 的數值。
+ **GENERIC\$1INTERNAL\$1ERROR：值超過 MAX\$1BYTE** – 當來源資料欄的數值超過資料類型 `BYTE` 允許的大小時，您可能會看到此例外狀況。資料類型 `BYTE` 相當於 `TINYINT`。`TINYINT` 是以兩的補數格式表示的 8 位元帶正負號的整數，最小值為 -128 以及最大值為 127。
+ **GENERIC\$1INTERNAL\$1ERROR：分割區的值的數目與篩選的數目不相符** – 如果 Amazon Simple Storage Service(Amazon S3) 資料上有不一致的分割區，您可能會看到此例外狀況。在下列任種情況下，您可能有不一致的分割區：
  + Simple Storage Service (Amazon S3) 上的分割區已變更 (例如：已新增新的分割區)。
  + 資料表中的分割區資料欄數目與分割區中繼資料中的資料欄數目不相符。

如需這些錯誤的詳細資訊，請參閱 AWS 知識中心中的[如何在 Amazon Athena 中查詢資料表時解決錯誤「GENERIC\$1INTERNAL\$1ERROR」？](https://aws.amazon.com/premiumsupport/knowledge-center/athena-generic-internal-error/)。

### 相符群組的數目與資料欄數不符
<a name="troubleshooting-athena-number-of-matching-groups-doesnt-match-the-number-of-columns"></a>

當您在 CREATE TABLE 陳述式中使用 [Regex SerDe](regex-serde.md)，且 regex 相符群組的數量與您為資料表指定的資料欄數不相符時，就會發生此錯誤。如需詳細資訊，請參閱 AWS 知識中心中的[如何解決 amazon Athena 中的 RegexSerDe 錯誤「相符群組數量與資料欄數量不符」？](https://aws.amazon.com/premiumsupport/knowledge-center/regexserde-error-athena-matching-groups/)。

### queryString 無法滿足限制條件：成員的長度必須小於或等於 262144
<a name="troubleshooting-athena-querystring-failed-to-satisfy-constraint-member-must-have-length-less-than-or-equal-to-262144"></a>

Athena 中的最大查詢字串長度 (262，144 位元組） 不是可調整的配額。 AWS 支援 無法為您增加配額，但您可以透過將長查詢分割為較小的查詢來解決問題。如需詳細資訊，請參閱 AWS 知識中心中的[如何在 Athena 中增加最大查詢字串長度？](https://aws.amazon.com/premiumsupport/knowledge-center/athena-query-string-length/)。

### SYNTAX\$1ERROR：無法解析資料欄
<a name="troubleshooting-athena-syntax_error-column-cannot-be-resolved"></a>

當您從具有位元組順序標記 (BOM) 的 UTF-8 編碼 CSV 檔案查詢 AWS Glue 爬蟲程式建立的資料表時，可能會發生此錯誤。 AWS Glue 無法辨識 BOMs並將它們變更為 Amazon Athena 無法辨識的問號。解決方案是移除 Athena 或 AWS Glue中的問號。

### 函數呼叫的引數過多
<a name="troubleshooting-athena-too-many-arguments"></a>

在 Athena 引擎版本 3 中，函數接受的引數不能超過 127 個。此限制由設計所致。如果您使用具有 127 個以上參數的函數，則會出現如下錯誤訊息：

TOO\$1MANY\$1ARGUMENTS：行 *nnn*:*nn*：函數呼叫 *function\$1name*() 的引數過多。

要解決此問題，請在每次函數呼叫中減少參數的使用。

## 查詢逾時問題
<a name="troubleshooting-athena-query-timeout-issues"></a>

如果您的 Athena 查詢遇到逾時錯誤，請檢查 CloudTrail 日誌。查詢可能會因為調節 AWS Glue 或 Lake Formation APIs而逾時。發生這些錯誤時，對應的錯誤訊息可能會指出查詢逾時問題，而不是限流問題。若要疑難排解問題，您可以在聯絡 之前檢查您的 CloudTrail 日誌 支援。如需詳細資訊，請參閱[查詢 AWS CloudTrail 日誌](cloudtrail-logs.md)及[使用 記錄 Amazon Athena API 呼叫 AWS CloudTrail](monitor-with-cloudtrail.md)。

如需呼叫 `ListTableMetadata` API 時聯合查詢出現查詢逾時問題的相關資訊，請參閱 [呼叫 ListTableMetadata 時逾時](#troubleshooting-athena-federated-queries-list-table-metadata-timeout)。

## 調節問題
<a name="troubleshooting-athena-throttling-issues"></a>

如果您的查詢超過 Amazon S3 AWS KMS AWS Glue、 或 等相依服務的限制 AWS Lambda，則預期會發生下列訊息。若要解決這些問題，請減少來自相同帳戶的並行呼叫數目。


****  

| 服務 | 錯誤訊息 | 
| --- | --- | 
| AWS Glue | AWSGlueException︰超過費率。 | 
| AWS KMS | 您已超過可以呼叫 KMS 的費率。減少通話的頻率。 | 
| AWS Lambda |  已超過費率 TooManyRequestsException  | 
| Simple Storage Service (Amazon S3) | AmazonS3Exception︰請降低請求率。 | 

如需有關在使用 Athena 時防止 Amazon S3 限流的方法的資訊，請參閱 [防止 Amazon S3 限流](performance-tuning-s3-throttling.md)。

## 檢視
<a name="troubleshooting-athena-views"></a>

### 在 Apache Hive Shell 中建立的檢視在 Athena 中無法運作
<a name="troubleshooting-athena-views-created-in-hive-shell-do-not-work-in-athena"></a>

由於其實作方式完全不同，在 Apache Hive Shell 中建立的檢視與 Athena 不相容。若要解決此問題，請在 Athena 中重新建立檢視。

### 檢視已過時；必須重新建立
<a name="troubleshooting-athena-view-is-stale-it-must-be-re-created"></a>

如果作為檢視基礎的資料表已變更或遭到捨棄，您可能會收到此錯誤。解決方案是重新建立檢視。如需詳細資訊，請參閱 AWS 知識中心的[如何解決 Athena 中的「檢視過時；必須重新建立」錯誤？](https://aws.amazon.com/premiumsupport/knowledge-center/athena-view-is-stale-error/)。

## 工作群組
<a name="troubleshooting-athena-workgroups"></a>

如需針對工作群組問題進行疑難排解的相關資訊，請參閱[對工作群組錯誤進行疑難排解](workgroups-troubleshooting.md)。

## 其他資源
<a name="troubleshooting-athena-additional-resources"></a>

以下頁面提供針對 Amazon Athena 問題進行疑難排解的其他資訊。
+ [Athena 錯誤目錄](error-reference.md)
+ [Service Quotas](service-limits.md)
+ [在 Amazon Athena 中進行 SQL 查詢的考量事項與限制](other-notable-limitations.md)
+ [不支援的 DDL](unsupported-ddl.md)
+ [為資料庫、資料表和資料欄命名](tables-databases-columns-names.md)
+ [Amazon Athena 中的資料類型](data-types.md)
+ [為您的資料選擇 SerDe](supported-serdes.md)
+ [在 Athena 中使用壓縮](compression-formats.md)
+ [在查詢中逸出預留關鍵字](reserved-words.md)
+ [對工作群組錯誤進行疑難排解](workgroups-troubleshooting.md)

下列 AWS 資源也可以提供幫助：
+  [AWS 知識中心的 Athena 主題](https://aws.amazon.com/premiumsupport/knowledge-center/#Amazon_Athena) 
+  [AWS re：Post 的 Amazon Athena 問題](https://repost.aws/tags/TA78iVOM7gR62_QqDe2-CmiA/amazon-athena)
+  [AWS 大數據部落格中的 Athena 貼文](https://aws.amazon.com/blogs/big-data/tag/amazon-athena/) 

疑難排解通常需要專家或小幫手社群的反覆查詢和探索。如果您在嘗試此頁面上的建議後仍遇到問題，請聯絡 AWS 支援 （在 中 AWS 管理主控台，按一下**支援**、**支援中心**) 或使用 **Amazon Athena** 標籤在 [AWS re：Post](https://repost.aws/tags/TA78iVOM7gR62_QqDe2-CmiA/amazon-athena) 上提出問題。

# Athena 錯誤目錄
<a name="error-reference"></a>

Athena 提供標準化的錯誤資訊，可協助您瞭解失敗的查詢並在查詢失敗發生後採取步驟。`AthenaError` 功能包含 `ErrorCategory` 欄位和 `ErrorType` 欄位。`ErrorCategory` 說明查詢失敗的原因是系統錯誤、使用者錯誤還是其他錯誤所引起。`ErrorType` 提供有關失敗來源的更詳細的資訊。藉由結合這兩個欄位，您可以更清楚地瞭解周圍的情況和發生的具體錯誤的原因。

## 錯誤類別
<a name="error-reference-error-category"></a>

下表列出 Athena 錯誤類別的值及其意義。


****  

| 錯誤類別 | 來源 | 
| --- | --- | 
| 1 | SYSTEM | 
| 2 | USER | 
| 3 | OTHER | 

## 錯誤類型參考
<a name="error-reference-error-type-reference"></a>

下表列出 Athena 錯誤類型的值及其意義。


****  

| 錯誤類型 | 描述 | 
| --- | --- | 
| 0 | 在此擴展因數下查詢耗盡的資源 | 
| 1 | 在此擴展因數下查詢耗盡的資源 | 
| 2 | 在此擴展因數下查詢耗盡的資源 | 
| 3 | 在此擴展因數下查詢耗盡的資源 | 
| 4 | 在此擴展因數下查詢耗盡的資源 | 
| 5 | 在此擴展因數下查詢耗盡的資源 | 
| 6 | 在此擴展因數下查詢耗盡的資源 | 
| 7 | 在此擴展因數下查詢耗盡的資源 | 
| 8 | 在此擴展因數下查詢耗盡的資源 | 
| 100 | 內部服務錯誤 | 
| 200 | 查詢引擎發生內部錯誤 | 
| 201 | 查詢引擎發生內部錯誤 | 
| 202 | 查詢引擎發生內部錯誤 | 
| 203 | 驅動程式錯誤 | 
| 204 | 中繼存放區發生錯誤 | 
| 205 | 查詢引擎發生內部錯誤 | 
| 206 | 查詢逾時 | 
| 207 | 查詢引擎發生內部錯誤 | 
| 208 | 查詢引擎發生內部錯誤 | 
| 209 | 無法取消查詢 | 
| 210 | 查詢逾時 | 
| 211 | 查詢引擎發生內部錯誤 | 
| 212 | 查詢引擎發生內部錯誤 | 
| 213 | 查詢引擎發生內部錯誤 | 
| 214 | 查詢引擎發生內部錯誤 | 
| 215 | 查詢引擎發生內部錯誤 | 
| 216 | 查詢引擎發生內部錯誤 | 
| 217 | 查詢引擎發生內部錯誤 | 
| 218 | 查詢引擎發生內部錯誤 | 
| 219 | 查詢引擎發生內部錯誤 | 
| 220 | 查詢引擎發生內部錯誤 | 
| 221 | 查詢引擎發生內部錯誤 | 
| 222 | 查詢引擎發生內部錯誤 | 
| 223 | 查詢引擎發生內部錯誤 | 
| 224 | 查詢引擎發生內部錯誤 | 
| 225 | 查詢引擎發生內部錯誤 | 
| 226 | 查詢引擎發生內部錯誤 | 
| 227 | 查詢引擎發生內部錯誤 | 
| 228 | 查詢引擎發生內部錯誤 | 
| 229 | 查詢引擎發生內部錯誤 | 
| 230 | 查詢引擎發生內部錯誤 | 
| 231 | 查詢引擎發生內部錯誤 | 
| 232 | 查詢引擎發生內部錯誤 | 
| 233 | Iceberg 錯誤 | 
| 234 | Lake Formation 錯誤 | 
| 235 | 查詢引擎發生內部錯誤 | 
| 236 | 查詢引擎發生內部錯誤 | 
| 237 | 序列化錯誤 | 
| 238 | 無法將中繼資料上傳至 Simple Storage Service (Amazon S3) | 
| 239 | 一般持久性錯誤 | 
| 240 | 無法提交查詢 | 
| 300 | 內部服務錯誤 | 
| 301 | 內部服務錯誤 | 
| 302 | 內部服務錯誤 | 
| 303 | 內部服務錯誤 | 
| 400 | 內部服務錯誤 | 
| 401 | 無法將查詢結果寫入 Simple Storage Service (Amazon S3) | 
| 402 | 無法將查詢結果寫入 Simple Storage Service (Amazon S3) | 
| 1000 | 使用者錯誤 | 
| 1001 | 資料錯誤 | 
| 1002 | 資料錯誤 | 
| 1003 | DDL 任務失敗 | 
| 1004 | 架構錯誤 | 
| 1005 | 序列化錯誤 | 
| 1006 | 語法錯誤 | 
| 1007 | 資料錯誤 | 
| 1008 | 查詢被拒絕 | 
| 1009 | 查詢失敗 | 
| 1010 | 內部服務錯誤 | 
| 1011 | 查詢被使用者取消 | 
| 1012 | 查詢引擎發生內部錯誤 | 
| 1013 | 查詢引擎發生內部錯誤 | 
| 1014 | 查詢被使用者取消 | 
| 1100 | 提供的自變數無效 | 
| 1101 | 提供的屬性無效 | 
| 1102 | 查詢引擎發生內部錯誤 | 
| 1103 | 提供的資料表屬性無效 | 
| 1104 | 查詢引擎發生內部錯誤 | 
| 1105 | 查詢引擎發生內部錯誤 | 
| 1106 | 提供的函數自變數無效 | 
| 1107 | 無效的檢視 | 
| 1108 | 無法註冊函數 | 
| 1109 | 找不到提供的 Simple Storage Service (Amazon S3) 路徑 | 
| 1110 | 提供的資料表或檢視不存在 | 
| 1200 | 不支援的查詢 | 
| 1201 | 不支持提供的解碼器 | 
| 1202 | 不支援的查詢類型 | 
| 1300 | 找不到一般錯誤 | 
| 1301 | 找不到一般實體 | 
| 1302 | 找不到檔案 | 
| 1303 | 找不到提供的函數或函數實施 | 
| 1304 | 查詢引擎發生內部錯誤 | 
| 1305 | 查詢引擎發生內部錯誤 | 
| 1306 | 找不到 Simple Storage Service (Amazon S3) 儲存貯體 | 
| 1307 | 找不到選取的引擎 | 
| 1308 | 查詢引擎發生內部錯誤 | 
| 1400 | 調節錯誤 | 
| 1401 |  AWS Glue 調節導致查詢失敗 | 
| 1402 | 查詢失敗，因為 中的資料表版本過多 AWS Glue | 
| 1403 | 查詢失敗，原因是 Simple Storage Service (Amazon S3) 調節 | 
| 1404 | 查詢失敗，原因是 Amazon Athena 調節 | 
| 1405 | 查詢失敗，原因是 Amazon Athena 調節 | 
| 1406 | 查詢失敗，原因是 Amazon Athena 調節 | 
| 1500 | 許可錯誤 | 
| 1501 | Simple Storage Service (Amazon S3) 許可錯誤 | 
| 1602 |  超過預留容量限制。沒有足夠的能力執行此查詢。  | 
| 1700 | 由於 Lake Formation 內部例外狀況，查詢失敗 | 
| 1701 | 由於 AWS Glue 內部例外狀況，查詢失敗 | 
| 9999 | 內部服務錯誤 | 