使用選用元件功能建立 Managed Service for Apache Spark 叢集時,可以安裝 Trino 等其他元件。本頁說明如何在 Managed Service for Apache Spark 叢集上選擇性安裝 Trino 元件。
Trino 是開放原始碼分散式 SQL 查詢引擎。根據預設,Trino 伺服器和 Web UI 位於叢集第一個主節點的通訊埠 8060 上 (若 Kerberos 已啟用,則為通訊埠 7778)。
根據預設,Managed Service for Apache Spark 上的 Trino 會設定為與 Hive、BigQuery、Memory、TPCH 和 TPCDS 連接器搭配使用。
使用 Trino 元件建立叢集後,即可執行查詢:
- 使用本機終端機的
gcloud dataproc jobs submit trino指令 - 在叢集第一個主節點的終端機視窗上,使用
trinoCLI (指令列介面) 執行,詳情請參閱「使用 Trino 搭配 Managed Service for Apache Spark」。
安裝元件
請在建立 Managed Service for Apache Spark 叢集時安裝元件。
請參閱「支援的 Managed Service for Apache Spark 版本」,瞭解每個 Managed Service for Apache Spark 映像檔版本中包含的元件版本。
控制台
- 前往 Google Cloud 控制台的 Managed Service for Apache Spark「Create a cluster」(建立叢集)頁面。
系統已選取「Set up cluster」(設定叢集) 面板。
- 在「Components」(元件) 部分執行下列操作:
- 在「Optional components」(選用元件) 中,選取要安裝在叢集上的 Trino 和其他選用元件。
- 在「Component Gateway」(元件閘道) 下方,選取「Enable component gateway」(啟用元件閘道) (請參閱「查看及存取元件閘道網址」)。
gcloud CLI
如要建立包含 Trino 元件的 Managed Service for Apache Spark 叢集,請使用 gcloud dataproc clusters create 指令並加上 --optional-components 旗標。
gcloud dataproc clusters create CLUSTER_NAME \
--optional-components=TRINO \
--region=region \
--enable-component-gateway \
... other flags
- CLUSTER_NAME:叢集名稱。
- REGION:叢集所在的 Compute Engine 區域。
設定屬性
在 gcloud dataproc clusters create 指令中新增 --properties 旗標,以設定 trino、trino-jvm 和 trino-catalog config 屬性。
-
應用程式屬性:使用叢集屬性搭配
trino:前置字元,設定 Trino 應用程式屬性,例如--properties="trino:join-distribution-type=AUTOMATIC"。 - JVM 設定屬性:使用帶有
trino-jvm:前置字元的叢集屬性,為 Trino 協調器和 worker Java 程序設定 JVM 屬性,例如--properties="trino-jvm:XX:+HeapDumpOnOutOfMemoryError"。 - 建立新目錄及新增目錄屬性:使用
trino-catalog:catalog-name.property-name設定 Trino 目錄。範例:下列「properties」旗標可與「gcloud dataproc clusters create」指令搭配使用,建立具有「prodhive」Hive 目錄的 Trino 叢集。系統會在
/usr/lib/trino/etc/catalog/下建立prodhive.properties檔案,以啟用 prodhive 目錄。--properties="trino-catalog:prodhive.connector.name=hive,trino-catalog:prodhive.hive.metastore.uri=thrift://localhost:9000"
REST API
您可以透過 Managed Service for Apache Spark API,使用 SoftwareConfig.Component,做為 clusters.create 要求的一部分,指定 Trino 元件。