

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

# Trino 入門
<a name="emr-trino-getting-started"></a>

本節中的程序說明如何設定 Amazon EMR 叢集，以便使用 Trino 查詢中繼存放區資料來源。這些中繼存放區包含 AWS Glue Data Catalog、存放中繼資料和資料庫物件，以及管理存取許可。這些程序涵蓋先決條件、建議的組態設定、建立連接器，以及在中繼存放區資料表上執行查詢。

**Topics**
+ [搭配 使用 Amazon EMR 的完整先決條件步驟 Trino](emr-trino-getting-started-pre.md)
+ [使用 Trino 啟動 Amazon EMR 叢集](emr-trino-getting-started-launch.md)
+ [連線至 Amazon EMR 叢集的主要節點並執行查詢](emr-trino-getting-started-connect.md)

# 搭配 使用 Amazon EMR 的完整先決條件步驟 Trino
<a name="emr-trino-getting-started-pre"></a>

如果您尚未使用 AWS，或者尚未建立 Amazon EMR 叢集，請先完成這些必要步驟，再使用 Trino 建立 Amazon EMR 叢集。

## AWS 環境設定
<a name="emr-trino-getting-started-account"></a>

如果您尚未設定 AWS 帳戶，請完成以下步驟：

1. 如果您還沒有帳戶，請註冊 AWS 帳戶。如需詳細資訊，請參閱《[AWS 帳戶管理參考指南》中的建立](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-creating.html)*AWS 帳戶*。

1. 以管理使用者身分登入您的帳戶。

1. 建立群組並將使用者指派給該群組。

1. 建立 Amazon EC2 金鑰對，您可以在稍後用來保護資源與 SSH 之間的通訊。如果您計劃連接到主節點來執行任務，則需要此步驟。如需詳細資訊，請參閱[使用 SSH 連線至 Amazon EMR 叢集主節點](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-master-node-ssh.html)。

# 使用 Trino 啟動 Amazon EMR 叢集
<a name="emr-trino-getting-started-launch"></a>

以下說明使用 Trino 建立叢集時的正確組態選擇。

## 使用 Hive 連接器讓資料可用於查詢
<a name="emr-trino-getting-started-connect-hive"></a>

您可以為 Hive 中繼存放區設定 Trino 連接器，以便從叢集查詢中繼存放區資料。中繼存放區是一種抽象層，可讓檔案型內容或資料以資料表形式提供，因此易於查詢。您必須在 Amazon EMR 中設定連接器，讓叢集可以使用 Hive 中繼存放區資料表。下列程序說明如何執行此操作：

1. 在主控台中選擇 AWS Glue，並根據您在 Amazon S3 中的來源資料建立資料表。Glue Data Catalog AWS 中的資料表是資料的中繼資料定義。在此內容中，從來源資料手動建立資料表、視需要建立資料欄是合理的。如需從 AWS Amazon S3 中的半結構化資料在 Glue 中建立資料表的詳細資訊，請參閱《*AWS Glue 使用者指南*》中的[使用主控台建立資料表](https://docs.aws.amazon.com/glue/latest/dg/tables-described.html#console-tables)。

1. 將您的組態設定為叢集建立的一部分。選取**組態**標籤。組態是叢集的選用規格。當您輸入組態時，請新增 JSON，如下所示，指示 Trino 使用 AWS Glue Data Catalog 作為資料表中繼資料的外部 Hive 中繼存放區：

   ```
   {
       "classification": "trino-connector-hive",
       "properties": {
           "hive.metastore": "glue"
       }
   }
   ```

   或者，您可以在建立叢集時，在**軟體設定**區段中套用組態。

   此外，您可以設定其他連接器類型，例如與 Apache Iceberg 連線。如需詳細資訊，請參閱《*Amazon EMR 版本指南*》中的[搭配使用 Iceberg 叢集與 Trino](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-iceberg-use-trino-cluster.html)。設定其他設定是選用的。

若要繼續入門步驟，請參閱 [連線至 Amazon EMR 叢集的主要節點並執行查詢](emr-trino-getting-started-connect.md)。

## 使用 Trino 建立叢集
<a name="emr-trino-getting-started-launch-cluster-settings"></a>

當您建立要與 Trino 搭配使用的叢集時，以下說明正確的組態選擇。

**重要**  
建立叢集之前，請先完成 AWS Glue Data Catalog 組態做為 Hive 中繼存放區，我們建議開始使用。如需詳細資訊，請參閱[使用 Hive 連接器讓資料可用於查詢](#emr-trino-getting-started-connect-hive)。

1. 在 AWS 主控台中，從服務中選取 Amazon EMR。當您選擇 Amazon EMR 時，如果您有現有的叢集，則會列出 ** EC2 叢集上的 EMR**。

1. 選擇 **Create Cluster** (建立叢集)。從這裡開始建置叢集的程序。

1. 為您的叢集命名並選擇 **Amazon EMR 版本**。您可以選擇教學課程的最新版本。

1. 選擇 **Trino** 套件，該套件已預先選取 Trino 應用程式。當您事先知道叢集的用途時，會為方便而設定套件。否則，您可以直接選取 Trino 的核取方塊。

1. 針對**叢集組態**，選擇**統一執行個體群組**。繼續並移除其他執行個體群組。

1. 選擇**執行個體類型**。一般而言，我們建議您選擇至少具有 16 GiB 記憶體的執行個體類型。此外，針對**叢集擴展和佈建**，選擇**手動設定叢集大小**。

1. 此時，請將 Hive 中繼存放區組態設定為指向 AWS Glue。這在 區段中詳細說明[使用 Hive 連接器讓資料可用於查詢](#emr-trino-getting-started-connect-hive)。建置叢集之前，請先完成此操作。

1. 選擇 **Create Cluster** (建立叢集)。可能需要幾分鐘的時間才能完成。

   此處的步驟並未詳細說明所有組態步驟。如需設定叢集的詳細資訊，請參閱 [計劃、設定和啟動 Amazon EMR 叢集](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan.html)。

**注意**  
請勿同時選取 Presto 和 Trino 以用於相同的叢集。不支援將它們一起執行。如果您執行 Trino，也建議您不要在叢集上執行任何其他應用程式，例如 Spark。

# 連線至 Amazon EMR 叢集的主要節點並執行查詢
<a name="emr-trino-getting-started-connect"></a>

## 佈建測試資料並設定許可
<a name="emr-trino-getting-started-pre-data"></a>

您可以使用 Glue Data Catalog 及其 Hive 中繼存放區，透過 Trino AWS 測試 Amazon EMR。如果您尚未設定測試資料，這些先決條件步驟會說明如何設定測試資料：

1. 如果您尚未建立 SSH 金鑰以用於通訊加密。

1. 您可以選擇多個檔案系統來存放資料和日誌檔案。若要開始，請建立 Amazon S3 儲存貯體。為儲存貯體命名唯一名稱。建立加密金鑰時，請指定您建立的加密金鑰。
**注意**  
選擇相同的區域來建立儲存貯體和 Amazon EMR 叢集。

1. 選擇您建立的儲存貯體。選擇**建立資料夾**，並為資料夾命名為可記住的名稱。當您建立 資料夾時，請選擇安全組態。您可以選擇父系的安全設定，或讓安全設定更專業。

1. 將測試資料新增至您的資料夾。基於本教學的目的，使用逗號分隔記錄的 .csv 非常適合完成此使用案例。

1. 將資料新增至 Amazon S3 儲存貯體之後，請在 Glue AWS 中設定資料表，以提供用於查詢資料的抽象層。

## 連接並執行查詢
<a name="emr-trino-getting-started-run"></a>

以下說明如何在執行 Trino 的叢集上連接和執行查詢。執行此操作之前，請確定您已設定 Hive 中繼存放區連接器，如先前程序中所述，以便中繼存放區資料表可見。

1. 我們建議您使用 EC2 Instance Connect 連線到您的叢集，因為它提供安全的連線。從叢集摘要中選擇**使用 SSH 連線至主節點**。連線需要安全群組具有傳入規則，以允許透過連接埠 22 連線至子網路中的用戶端。您也必須在連線時使用 使用者 **hadoop**。

1. 執行 以啟動 Trino CLI`trino-cli`。這可讓您使用 Trino 執行命令和查詢資料。

1. 執行 `show catalogs;`。檢查 **hive** 目錄是否已列出。這提供可用的目錄清單，其中包含資料存放區或系統設定。

1. 若要查看可用的結構描述，請執行 `show schemas in hive;`。從這裡，您可以執行`use schema-name;`並包含結構描述的名稱。然後，您可以執行 `show tables;`來列出資料表。

1. 使用結構描述中的資料表名稱`SELECT * FROM table-name`，執行類似 的命令來查詢資料表。如果您已執行 `USE`陳述式以連接至特定結構描述，則不需要使用兩個部分的表示法，例如 *schema*.*table*。