使用獨(dú)立的Trino集群
創(chuàng)建獨(dú)立的Trino集群后無法直接使用,需要進(jìn)行相關(guān)的配置。本文為您介紹創(chuàng)建獨(dú)立的Trino集群后,如何配置連接器和數(shù)據(jù)湖元數(shù)據(jù),以使用獨(dú)立的Trino集群。
背景信息
在使用開源大數(shù)據(jù)平臺(tái)E-MapReduce控制臺(tái)時(shí),您可以在創(chuàng)建DataLake集群、自定義集群或Hadoop集群時(shí)選擇Trino服務(wù),或者創(chuàng)建獨(dú)立的Trino集群使用Trino服務(wù)。Trino集群具備以下特點(diǎn):
Trino獨(dú)享集群資源,受其他組件干擾少。
支持彈性伸縮。
支持?jǐn)?shù)據(jù)湖分析與實(shí)時(shí)數(shù)倉。
不存儲(chǔ)數(shù)據(jù)。
Hudi和Iceberg不是實(shí)際的進(jìn)程 ,不占集群資源。
Hue和JindoData服務(wù)(或SmartData服務(wù)),如果不使用,可以選擇停止。
如果要使用獨(dú)立的Trino集群,需要先創(chuàng)建一個(gè)DataLake集群、自定義集群或Hadoop集群,或使用已有的DataLake集群、自定義集群或Hadoop集群作為數(shù)據(jù)集群。
創(chuàng)建完獨(dú)立的Trino集群后,您需要進(jìn)行以下配置:
如果數(shù)據(jù)集群的元數(shù)據(jù)選擇的不是數(shù)據(jù)湖元數(shù)據(jù),則可以忽略此配置。
配置連接器
在待使用的連接器中配置查詢對(duì)象。本文以Hive連接器為例介紹。
進(jìn)入集群服務(wù)頁面。
在頂部菜單欄處,根據(jù)實(shí)際情況選擇地域和資源組。
在EMR on ECS頁面,單擊目標(biāo)集群操作列的集群服務(wù)。
在集群服務(wù)頁面,單擊Trino服務(wù)區(qū)域的配置。
修改配置項(xiàng)。
在配置頁面,單擊hive.properties頁簽。
修改hive.metastore.uri的參數(shù)值為數(shù)據(jù)集群Trino服務(wù)中的hive.metastore.uri的參數(shù)值。
保存配置。
單擊右側(cè)的保存。
在確認(rèn)修改對(duì)話框中,配置相關(guān)參數(shù),單擊確定。
生效配置。
單擊右側(cè)的部署客戶端配置。
在執(zhí)行集群操作對(duì)話框中,配置相關(guān)參數(shù),單擊確定。
在確認(rèn)對(duì)話框中,單擊確定。
重啟Trino服務(wù),詳情請(qǐng)參見操作步驟。
配置host。
重要如果待查詢的數(shù)據(jù)全部保存在OSS上,或者建表語句時(shí)指定了Location,則可以不用配置host。
Hive的部分表在創(chuàng)建時(shí),會(huì)默認(rèn)指定路徑,因此在查詢保存在數(shù)據(jù)集群上的數(shù)據(jù)時(shí),為了查詢時(shí)能夠讀取到這些表,Trino集群的每一臺(tái)主機(jī)都需要配置host。
方式一(推薦):您可以在EMR控制臺(tái),通過添加集群腳本或引導(dǎo)操作,來實(shí)現(xiàn)配置host,詳情請(qǐng)參見手動(dòng)執(zhí)行腳本或管理引導(dǎo)操作。
方式二:直接修改host文件。具體步驟如下所示。
獲取數(shù)據(jù)集群Master節(jié)點(diǎn)的內(nèi)網(wǎng)IP地址。在E-MapReduce控制臺(tái)的節(jié)點(diǎn)管理頁面,單擊主實(shí)例組所在行的圖標(biāo)。即可查看節(jié)點(diǎn)的內(nèi)網(wǎng)IP地址。
登錄數(shù)據(jù)集群,詳情請(qǐng)參見登錄集群。
執(zhí)行
hostname
命令,獲取主機(jī)名。例如,主機(jī)名形式如下:
Hadoop集群:emr-header-1.cluster-26****。
其余集群:master-1-1.c-f613970e8c****。
登錄Trino集群,詳情請(qǐng)參見登錄集群。
執(zhí)行以下命令,編輯文件hosts。
vim /etc/hosts
添加以下內(nèi)容至文件hosts最后一行。
添加數(shù)據(jù)集群Master節(jié)點(diǎn)的內(nèi)網(wǎng)IP地址和主機(jī)名至Trino集群所有主機(jī)/etc/目錄下的hosts文件中。
Hadoop集群
192.168.**.** emr-header-1.cluster-26****
其余集群
192.168.**.** master-1-1.c-f613970e8c****
配置數(shù)據(jù)湖元數(shù)據(jù)
EMR-3.45.0及之后版本,EMR-5.11.0及之后版本,支持在創(chuàng)建集群時(shí)自動(dòng)配置。
如果數(shù)據(jù)表的元數(shù)據(jù)使用了DLF統(tǒng)一元數(shù)據(jù),則還需為Hive、Iceberg和Hudi等連接器進(jìn)行額外的配置。此時(shí)查詢不再依賴數(shù)據(jù)集群,hive.metastore.uri可以任意填寫,Trino能夠直接訪問到同一個(gè)賬號(hào)下的DLF元數(shù)據(jù)。
數(shù)據(jù)湖元數(shù)據(jù)配置的詳細(xì)信息如下表。
參數(shù) | 描述 | 備注 |
hive.metastore | MetaStore類型。 | 固定值為DLF。 |
dlf.catalog.id | 數(shù)據(jù)庫分類命名空間。 | 需要綁定的DLF數(shù)據(jù)目錄(Catalog),默認(rèn)值是阿里云賬號(hào)的賬號(hào)ID。 |
dlf.catalog.region | DLF服務(wù)的地域名。 | 詳情請(qǐng)參見已開通的地域和訪問域名。 說明 請(qǐng)和dlf.catalog.endpoint選擇的地域保持一致。 |
dlf.catalog.endpoint | DLF服務(wù)的Endpoint。 | 詳情請(qǐng)參見已開通的地域和訪問域名。 推薦您設(shè)置dlf.catalog.endpoint參數(shù)為DLF的VPC Endpoint。例如,如果您選擇的地域?yàn)閏n-hangzhou地域,則dlf.catalog.endpoint參數(shù)需要配置為dlf-vpc.cn-hangzhou.aliyuncs.com。 說明 您也可以使用DLF的公網(wǎng)Endpoint,如果您選擇的地域?yàn)閏n-hangzhou地域,則dlf.catalog.endpoint參數(shù)需要配置為dlf.cn-hangzhou.aliyuncs.com。 |
dlf.catalog.akMode | DLF服務(wù)的Access Key模式。 | 建議配置為EMR_AUTO。 |
dlf.catalog.proxyMode | DLF服務(wù)的代理模式。 | 建議配置為DLF_ONLY。 |
dlf.catalog.uid | 阿里云賬號(hào)的賬號(hào)ID。 | 登錄賬號(hào)信息,請(qǐng)通過用戶信息頁面獲取。 |
示例:查詢表信息
通過命令方式訪問Trino,詳情請(qǐng)參見通過命令方式訪問Trino。
執(zhí)行以下命令,查詢test_hive表信息。
select * from hive.default.test_hive;