建立獨立的Trino叢集後無法直接使用,需要進行相關的配置。本文為您介紹建立獨立的Trino叢集後,如何配置連接器和資料湖中繼資料,以使用獨立的Trino叢集。
背景資訊
在使用開源巨量資料平台E-MapReduce控制台時,您可以在建立DataLake叢集、自訂叢集或Hadoop叢集時選擇Trino服務,或者建立獨立的Trino叢集使用Trino服務。Trino叢集具備以下特點:
Trino獨享叢集資源,受其他組件幹擾少。
支援Auto Scaling。
支援資料湖分析與即時數倉。
不儲存資料。
Hudi和Iceberg不是實際的進程 ,不佔叢集資源。
Hue和JindoData服務(或SmartData服務),如果不使用,可以選擇停止。
如果要使用獨立的Trino叢集,需要先建立一個DataLake叢集、自訂叢集或Hadoop叢集,或使用已有的DataLake叢集、自訂叢集或Hadoop叢集作為資料集群。
配置連接器
在待使用的連接器中配置查詢對象。本文以Hive連接器為例介紹。
進入叢集服務頁面。
在頂部功能表列處,根據實際情況選擇地區和資源群組。
在EMR on ECS頁面,單擊目的地組群操作列的叢集服務。
在叢集服務頁面,單擊Trino服務地區的配置。
修改配置項。
在配置頁面,單擊hive.properties頁簽。
修改hive.metastore.uri的參數值為資料集群Trino服務中的hive.metastore.uri的參數值。
儲存配置。
單擊右側的儲存。
在確認修改對話方塊中,配置相關參數,單擊確定。
生效配置。
單擊右側的部署用戶端配置。
在執行叢集操作對話方塊中,配置相關參數,單擊確定。
在確認對話方塊中,單擊確定。
重啟Trino服務,詳情請參見操作步驟。
配置host。
重要如果待查詢的資料全部儲存在OSS上,或者建表語句時指定了Location,則可以不用配置host。
Hive的部分表在建立時,會預設指定路徑,因此在查詢儲存在資料集群上的資料時,為了查詢時能夠讀取到這些表,Trino叢集的每一台主機都需要配置host。
方式一(推薦):您可以在EMR控制台,通過添加叢集指令碼或引導操作,來實現配置host,詳情請參見手動執行指令碼或管理引導操作。
方式二:直接修改host檔案。具體步驟如下所示。
擷取資料集群Master節點的內網IP地址。在E-MapReduce控制台的節點管理頁面,單擊主執行個體組所在行的
表徵圖。即可查看節點的內網IP地址。登入資料集群,詳情請參見登入叢集。
執行
hostname命令,擷取主機名稱。例如,主機名稱形式如下:
Hadoop叢集:emr-header-1.cluster-26****。
其餘叢集:master-1-1.c-f613970e8c****。
登入Trino叢集,詳情請參見登入叢集。
執行以下命令,編輯檔案hosts。
vim /etc/hosts添加以下內容至檔案hosts最後一行。
添加資料集群Master節點的內網IP地址和主機名稱至Trino叢集所有主機/etc/目錄下的hosts檔案中。
Hadoop叢集
192.168.**.** emr-header-1.cluster-26****其餘叢集
192.168.**.** master-1-1.c-f613970e8c****
配置資料湖中繼資料
EMR-3.45.0及之後版本,EMR-5.11.0及之後版本,支援在建立叢集時自動設定。
如果資料表的中繼資料使用了DLF統一中繼資料,則還需為Hive、Iceberg和Hudi等連接器進行額外的配置。此時查詢不再依賴資料集群,hive.metastore.uri可以任意填寫,Trino能夠直接存取到同一個帳號下的DLF中繼資料。
資料湖中繼資料配置的詳細資料如下表。
參數 | 描述 | 備忘 |
hive.metastore | MetaStore類型。 | 固定值為DLF。 |
dlf.catalog.id | 資料庫分類命名空間。 | 需要綁定的DLF資料目錄(Catalog),預設值是阿里雲帳號的帳號ID。 |
dlf.catalog.region | DLF服務的地區名。 | 詳情請參見已開通的地區和訪問網域名稱。 說明 請和dlf.catalog.endpoint選擇的地區保持一致。 |
dlf.catalog.endpoint | DLF服務的Endpoint。 | 詳情請參見已開通的地區和訪問網域名稱。 推薦您設定dlf.catalog.endpoint參數為DLF的VPC Endpoint。例如,如果您選擇的地區為cn-hangzhou地區,則dlf.catalog.endpoint參數需要配置為dlf-vpc.cn-hangzhou.aliyuncs.com。 說明 您也可以使用DLF的公網Endpoint,如果您選擇的地區為cn-hangzhou地區,則dlf.catalog.endpoint參數需要配置為dlf.cn-hangzhou.aliyuncs.com。 |
dlf.catalog.akMode | DLF服務的Access Key模式。 | 建議配置為EMR_AUTO。 |
dlf.catalog.proxyMode | DLF服務的代理模式。 | 建議配置為DLF_ONLY。 |
dlf.catalog.uid | 阿里雲帳號的帳號ID。 | 登入帳號資訊,請通過使用者資訊頁面擷取。 |
樣本:查詢表資訊
通過命令方式訪問Trino,詳情請參見通過命令方式訪問Trino。
執行以下命令,查詢test_hive表資訊。
select * from hive.default.test_hive;
