Saltar para o conteúdo principal
Versão 3.0

Integrações - Trino

ChartVersion3.0.1TypeapplicationAppVersion478
CompatibilidadeKubernetes1.32+OpenShift4.19+Rancher2.10.x+

Visão geral

O chart tdp-trino integra fontes de dados por meio de catálogos definidos em tdp-trino.catalogs.
Cada catálogo é um bloco de propriedades do connector Trino e fica disponível para consultas no formato catalog.schema.objeto.

Os exemplos abaixo cobrem ClickHouse, Hive/Iceberg com S3, Kafka e PostgreSQL.

Use-os como ponto de partida e ajuste hosts, portas, Secrets e propriedades conforme o ambiente.

Padrão de configuração

Exemplo
helm upgrade --install <RELEASE_NAME> oci://registry.tecnisys.com.br/tdp/charts/tdp-trino -n <NAMESPACE> -f values.yaml

Defina os catálogos sob tdp-trino.catalogs:

tdp-trino:
catalogs:
<nome-do-catálogo>: |
connector.name=<CONNECTOR_NAME>
propriedade=valor

Catálogos padrão

CatálogoUso
tpchDisponibiliza dados sintéticos do benchmark TPC-H, úteis para testes e validações iniciais.
tpcdsDisponibiliza dados sintéticos do benchmark TPC-DS, voltados a cenários analíticos/data warehouse.
memoryPermite criar tabelas temporárias mantidas em memória, útil para testes simples.

PostgreSQL

tdp-trino:
catalogs:
postgresql: |
connector.name=postgresql
connection-url=jdbc:postgresql://<POSTGRESQL_SERVICE>:5432/<DATABASE_NAME>
connection-user=<USERNAME>
connection-password=<PASSWORD>

Pré-requisitos: PostgreSQL acessível a partir do namespace do Trino, usuário com permissões coerentes com as consultas esperadas e credenciais protegidas por Secret ou mecanismo externo quando necessário.

ClickHouse

tdp-trino:
catalogs:
clickhouse: |
connector.name=clickhouse
connection-url=jdbc:clickhouse://<CLICKHOUSE_SERVICE>:8123/<DATABASE_NAME>
connection-user=<USERNAME>
connection-password=<PASSWORD>
domain-compaction-threshold=1000

Pré-requisitos: ClickHouse implantado e acessível pela rede do cluster, porta HTTP/JDBC liberada para o Trino e Secret para senha quando a credencial não puder ficar no arquivo de values.

Exemplo para criar um Secret de senha, quando necessário:

kubectl create secret generic tdp-clickhouse-trino-secret \
--from-literal=password=<PASSWORD> \
--namespace <NAMESPACE>

Hive e Iceberg com S3/Ozone

Use Hive Metastore como catálogo de metadados e um endpoint S3 compatível, como Ozone S3 Gateway ou MinIO.

tdp-trino:
catalogs:
hive: |
connector.name=hive
hive.metastore.uri=thrift://<HIVE_METASTORE_SERVICE>:9083
hive.non-managed-table-writes-enabled=true
hive.non-managed-table-creates-enabled=true
fs.native-s3.enabled=true
s3.endpoint=<S3_ENDPOINT>
s3.region=us-east-1
s3.aws-access-key=<S3_ACCESS_KEY>
s3.aws-secret-key=<SECRET_KEY>
s3.path-style-access=true
iceberg: |
connector.name=iceberg
iceberg.catalog.type=hive_metastore
hive.metastore.uri=thrift://<HIVE_METASTORE_SERVICE>:9083
fs.native-s3.enabled=true
s3.endpoint=<S3_ENDPOINT>
s3.region=us-east-1
s3.aws-access-key=<S3_ACCESS_KEY>
s3.aws-secret-key=<SECRET_KEY>
s3.path-style-access=true

Pré-requisitos: Hive Metastore acessível na porta Thrift, storage S3 compatível acessível pelo Trino e credenciais de acesso ao bucket/volume.

Kafka

tdp-trino:
catalogs:
kafka: |
connector.name=kafka
kafka.nodes=<KAFKA_BOOTSTRAP_SERVICE>:9092
kafka.table-description-dir=/etc/trino/kafka
kafka.default-schema=default
kafka.hide-internal-columns=false
kafka.buffer-size=64kB

Pré-requisitos: brokers Kafka acessíveis a partir do Trino, descrições de tabelas do connector Kafka quando necessário e Schema Registry quando usar formatos como Avro ou Protobuf.

Ranger e controle de acesso

Integração com Ranger não é definida em tdp-trino.catalogs.
Ela usa tdp-trino.accessControl, arquivos adicionais do coordinator e, em muitos cenários, certificados.
Consulte Segurança - Trino.

Validação

kubectl -n <NAMESPACE> get pods
kubectl -n <NAMESPACE> get configmap
kubectl -n <NAMESPACE> logs deploy/<DEPLOYMENT_NAME>
trino --server http://<TRINO_SERVICE>:8080 --user <USERNAME> --catalog tpch --schema tiny

Para HTTPS/LDAP, use as instruções de Segurança - Trino.