

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

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

# 查詢資料湖
<a name="query-editor-v2-querying-data-lake"></a>

您可以依照本教學課程中的任務集，查詢 Amazon S3 資料湖中的資料。首先，建立外部結構描述以參考 [AWS Glue Data Catalog](https://docs.aws.amazon.com/glue/latest/dg/components-overview.html#data-catalog-intro) 中的外部資料庫。然後，您就可以查詢 Amazon S3 資料湖中的資料。

## 示範：查詢資料湖
<a name="query-editor-v2-example-data-lake-demo"></a>

若要了解如何查詢資料湖，請觀看以下影片。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/-pyy0qNmEKo/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/-pyy0qNmEKo)


## 先決條件
<a name="query-editor-v2-querying-data-lake-prerequisites"></a>

在查詢編輯器 v2 中使用資料湖之前，請先確認您已在 Amazon Redshift 環境中設定以下項目：
+ 使用 編目 Amazon S3 資料， AWS Glue 並啟用 Data Catalog AWS Lake Formation。
+ 使用 AWS Glue 已啟用的 Data Catalog 為 Amazon Redshift 建立 IAM 角色 AWS Lake Formation。如需此程序的詳細資訊，請參閱[使用 AWS Glue Data Catalog 啟用的 為 Amazon Redshift 建立 IAM 角色 AWS Lake Formation](https://docs.aws.amazon.com/redshift/latest/dg/c-getting-started-using-spectrum-create-role.html#spectrum-get-stared-create-role-lake-formation)。如需使用 Redshift Spectrum 和 Lake Formation 的詳細資訊，請參閱[搭配使用 Redshift Spectrum。 AWS Lake Formation](https://docs.aws.amazon.com/redshift/latest/dg/spectrum-lake-formation.html)
+ 授予資料表的 SELECT 許可，以在 Lake Formation 資料庫中進行查詢。如需有關此程序的詳細資訊，請參閱[授予資料表的 SELECT 許可，以在 Lake Formation 資料庫中進行查詢](https://docs.aws.amazon.com/redshift/latest/dg/c-getting-started-using-spectrum-create-role.html#spectrum-get-started-grant-lake-formation-table)。

  您可以在 Lake Formation 主控台 (https://console.aws.amazon.com/lakeformation/)、**許可****區段、資料湖許可**頁面中驗證 IAM 角色、 AWS Glue 資料庫和資料表是否具有適當的許可。
+ 確認已連線的使用者擁有在 Amazon Redshift 資料庫中建立結構描述和存取資料湖中資料的許可。當您在查詢編輯器 v2 中連線到資料庫時，您要選擇包含憑證 (可以是資料庫使用者或 IAM 使用者) 的驗證方法。已連線的使用者必須具備適當的許可和資料庫權限，例如 `superuser`。建立叢集或工作群組的 Amazon Redshift `admin` 使用者擁有 `superuser` 權限，而且可以建立結構描述和管理 Redshift 資料庫。如需使用查詢編輯器 v2 來連線至資料庫的相關資訊，請參閱[連線至 Amazon Redshift 資料庫](query-editor-v2-connecting.md)。

## 建立外部結構描述
<a name="query-editor-v2-create-external-schema"></a>

若要查詢 Amazon S3 資料湖中的資料，請先建立外部結構描述。外部結構描述會參考 [AWS Glue Data Catalog](https://docs.aws.amazon.com/glue/latest/dg/components-overview.html#data-catalog-intro) 中的外部資料庫。

1. 在查詢編輯器 v2 的**編輯器**檢視中，選擇 ![\[Create\]](http://docs.aws.amazon.com/zh_tw/redshift/latest/mgmt/images/qev2-add.png) **建立**，然後選擇**結構描述**。

1. 輸入**結構描述**名稱。

1. 對於**結構描述類型**，選擇**外部**。

1. 在**資料目錄**詳細資訊中，**區域**預設為 AWS 區域 Redshift 資料庫所在的 。

1. 選擇外部結構描述將對應的**AWS Glue 資料庫**，以及包含 AWS Glue 資料表參考的資料庫。

1. 選擇具有在 Amazon S3 上查詢資料所需許可的 Amazon Redshift **IAM 角色**。

1. 選擇性地選擇具有 Data Catalog 許可的 **IAM 角色**。

1. 選擇**建立結構描述**。

   結構描述會出現在樹狀檢視面板中的資料庫下方。

在建立結構描述時，如果您收到資料庫的許可遭拒錯誤，請檢查已連線的使用者是否具有建立結構描述的資料庫權限。

## 在 Amazon S3 資料湖中查詢資料
<a name="query-editor-v2-query-data-lake"></a>

請使用您在上一個程序中建立的結構描述。

1. 在樹狀檢視面板中，選擇結構描述。

1. 若要檢視資料表定義，請選擇資料表。隨即會顯示資料表資料欄和資料類型。

1. 若要查詢資料表，請選擇該資料表，然後在內容功能表 (按一下滑鼠右鍵) 中，選擇**選取資料表**以產生查詢。

1. 在**編輯器**中執行查詢。

   下列範例 SQL 是由查詢編輯器 v2 產生，用於查詢名為 AWS Glue 資料表中的所有資料列`flightscsv`。為了簡單起見，輸出中顯示的資料欄和資料列已遭到截斷。

   ```
   SELECT * FROM "dev"."mydatalake_schema"."flightscsv";
                           
   year    quarter   month   dom  day_of_week   fl_date    unique_carrier  airline_id   carrier   tail_num   fl_num		
   2016    4         10      19   3             10/19/16   OO              20304        OO         N753SK    3086	 
   2016    4         10      19   3             10/19/16   OO              20304        OO         N753SK    3086	
   2016    4         10      19   3             10/19/16   OO              20304        OO         N778SK    3087		
   2016	4         10      19   3             10/19/16   OO              20304        OO         N778SK    3087	
   ...
   ```