

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

# 在 Amazon S3 中尋找查詢輸出檔案
<a name="querying-finding-output-files"></a>

除非查詢是發生在其組態會覆寫用戶端設定的工作群組中，否則查詢輸出檔案會以下列路徑模式存放在 Amazon S3 的子資料夾中。當工作群組組態取代用戶端設定時，查詢會使用工作群組指定的結果路徑。

```
QueryResultsLocationInS3/[QueryName|Unsaved/yyyy/mm/dd/]
```
+ *QueryResultsLocationInS3* 是由工作群組設定或用戶端設定所指定的查詢結果位置。如需詳細資訊，請參閱本文件稍後的[指定查詢結果位置](query-results-specify-location.md)。
+ 只有從主控台執行且其結果路徑尚未被工作群組組態覆寫的查詢，會建立下列子資料夾。從 AWS CLI 或使用 Athena API 執行的查詢會直接儲存至 *QueryResultsLocationInS3*。
  + *QueryName* 是儲存其結果的查詢名稱。如果查詢已執行但未儲存，則會使用 `Unsaved`。
  + *yyyy/mm/dd* 是查詢執行的日期。

與 `CREATE TABLE AS SELECT` 查詢相關聯的檔案會存放在上述模式的 `tables` 子資料夾中。

## 識別查詢輸出檔案
<a name="querying-identifying-output-files"></a>

系统會根據查詢的名稱、查詢 ID 和查詢執行的日期，將檔案儲存至 Amazon S3 中的查詢結果位置。每個查詢的檔案都是使用 *QueryID* 命名，此 QueryID 是每个查询执行时 Athena 指派給查詢的唯一識別符。

系統會儲存下列檔案類型：


| 檔案類型 | 檔案命名模式 | Description | 
| --- | --- | --- | 
|  **查詢結果檔案**  |  `QueryID.csv` `QueryID.txt`  |  DML 查詢結果檔案會以逗號分隔值 (CSV) 格式儲存。 DDL 查詢結果會儲存為純文字檔案。 使用主控台時，您可以從主控台的 **Results** (結果) 窗格下載結果檔案，或從查詢 **History** (歷史記錄) 進行下載。如需詳細資訊，請參閱[使用 Athena 主控台下載查詢結果檔案](saving-query-results.md)。  | 
|  **查詢中繼資料檔案**  |  `QueryID.csv.metadata` `QueryID.txt.metadata`  |  DML 和 DDL 查詢中繼資料檔案以二進位格式儲存，而且人類不可讀取。副檔名會對應到相關的查詢結果檔案。Athena 在使用 `GetQueryResults` 動作讀取查詢結果時，會使用中繼資料。雖然可以刪除這些檔案，但我們不建議這麼做，因為有關查詢的重要資訊會遺失。  | 
|  **資料資訊清單檔案**  |  `QueryID-manifest.csv`  |  產生資料資訊清單檔案，以追蹤在執行 [INSERT INTO](insert-into.md) 查詢時，Athena 在 Amazon S3 資料來源位置中建立的檔案。如果查詢失敗，資訊清單也會追蹤查詢要寫入的檔案。資訊清單可用於識別失敗查詢所產生的遺棄檔案。  | 

## 使用 AWS CLI 來識別查詢輸出位置和檔案
<a name="querying-finding-output-files-cli"></a>

若要使用 AWS CLI 來識別查詢輸出位置和結果檔案，請執行 `aws athena get-query-execution`命令，如下列範例所示。將 *abc1234d-5efg-67hi-jklm-89n0op12qr34* 取代為查詢 ID。

```
aws athena get-query-execution --query-execution-id abc1234d-5efg-67hi-jklm-89n0op12qr34
```

此命令會傳回如下輸出：如需每個輸出參數的說明，請參閱 *AWS CLI 命令參考*中的 [get-query-execution](https://docs.aws.amazon.com/cli/latest/reference/athena/get-query-execution.html)。

```
{
    "QueryExecution": {
        "Status": {
            "SubmissionDateTime": 1565649050.175,
            "State": "SUCCEEDED",
            "CompletionDateTime": 1565649056.6229999
        },
        "Statistics": {
            "DataScannedInBytes": 5944497,
            "DataManifestLocation": "s3://amzn-s3-demo-bucket/athena-query-results-123456789012-us-west-1/MyInsertQuery/2019/08/12/abc1234d-5efg-67hi-jklm-89n0op12qr34-manifest.csv",
            "EngineExecutionTimeInMillis": 5209
        },
        "ResultConfiguration": {
            "EncryptionConfiguration": {
                "EncryptionOption": "SSE_S3"
            },
            "OutputLocation": "s3://amzn-s3-demo-bucket/athena-query-results-123456789012-us-west-1/MyInsertQuery/2019/08/12/abc1234d-5efg-67hi-jklm-89n0op12qr34"
        },
        "QueryExecutionId": "abc1234d-5efg-67hi-jklm-89n0op12qr34",
        "QueryExecutionContext": {},
        "Query": "INSERT INTO mydb.elb_log_backup SELECT * FROM mydb.elb_logs LIMIT 100",
        "StatementType": "DML",
        "WorkGroup": "primary"
    }
}
```