Apache Spark용 관리형 서비스 선택적 Presto 구성요소

선택적 구성요소 기능을 사용하여 Managed Service for Apache Spark 클러스터를 만들 때 Presto와 같은 추가 구성요소를 설치할 수 있습니다. 이 페이지에서는 Managed Service for Apache Spark 클러스터에 Presto 구성요소를 선택적으로 설치하는 방법을 설명합니다.

Presto(Trino)는 오픈소스인 분산형 SQL 쿼리 엔진입니다. Presto 서버 및 웹 UI는 클러스터의 첫 번째 마스터 노드에 있는 포트 8060(또는 Kerberos가 사용 설정된 경우 포트 7778)에서 기본적으로 사용할 수 있습니다.

기본적으로 Managed Service for Apache Spark의 Presto는 Hive, BigQuery, Memory, TPCH, TPCDS 커넥터에서 작동하도록 구성됩니다.

Presto 구성요소로 클러스터를 만든 후 다음과 같이 쿼리를 실행할 수 있습니다.

구성요소 설치

Managed Service for Apache Spark 클러스터를 만들 때 구성요소를 설치합니다. 구성요소는 Managed Service for Apache Spark 버전 1.3 이상으로 만든 클러스터에 추가할 수 있습니다.

각 Managed Service for Apache Spark 이미지 출시에 포함된 구성요소 버전은 지원되는 Managed Service for Apache Spark 버전을 참고하세요.

Google Cloud 콘솔

  1. Google Cloud 콘솔에서 클러스터 만들기 페이지를 엽니다.
  2. 추가 구성을 클릭하여 해당 섹션을 펼칩니다.
  3. 선택적 구성요소를 수정합니다.
  4. 열리는 패널에서 Presto 체크박스를 선택합니다.

gcloud CLI 명령어

Presto 구성요소가 포함된 Managed Service for Apache Spark 클러스터를 만들려면 gcloud dataproc clusters create cluster-name 명령어를 --optional-components 플래그와 함께 사용합니다.

gcloud dataproc clusters create cluster-name \
    --optional-components=PRESTO \
    --region=region \
    --enable-component-gateway \
    ... other flags

속성 구성

--properties 플래그를 gcloud dataproc clusters create 명령어에 추가하여 presto, presto-jvm, presto-catalog 구성 속성을 설정합니다.

  • 애플리케이션 속성: presto: 프리픽스가 있는 클러스터 속성을 사용하여 Presto 애플리케이션 속성(예: --properties="presto:join-distribution-type=AUTOMATIC")을 구성합니다.
  • JVM 구성 속성: presto-jvm: 프리픽스가 있는 클러스터 속성을 사용하여 Presto 조정자 및 작업자 Java 프로세스(예: --properties="presto-jvm:XX:+HeapDumpOnOutOfMemoryError")의 JVM 속성을 구성합니다.
  • 새 카탈로그 만들기 및 카탈로그 속성 추가: presto-catalog:catalog-name.property-name을 사용하여 Presto 카탈로그를 구성합니다.

    예: 다음 `properties`' 플래그와 `gcloud dataproc clusters create` 명령어를 함께 사용하여 'prodhive' Hive 카탈로그가 있는 Presto 클러스터를 만들 수 있습니다. prodhive.properties 파일이 /usr/lib/presto/etc/catalog/ 아래에 생성되어 prodhive 카탈로그를 사용 설정합니다.

    --properties="presto-catalog:prodhive.connector.name=hive-hadoop2,presto-catalog:prodhive.hive.metastore.uri=thrift://localhost:9083

REST API

Presto 구성요소는 Dataproc API를 통해 clusters.create 요청의 일부로 SoftwareConfig.Component를 사용하여 지정할 수 있습니다.