Trino¶
Forma parte del lakehouse (visión general y esquema de interacciones).
La plantilla Trino (categoría Procesamiento) despliega un coordinador y workers Trino con un catálogo lakehouse preconectado a la instancia Apache Iceberg elegida.
Trino no es una base de datos: es un motor SQL sin almacenamiento. El trabajo se reparte en tres papeles — el catálogo Apache Iceberg sabe qué tablas existen y qué archivos las componen, el bucket S3 contiene los datos en Parquet, y Trino ejecuta el SQL en memoria, repartido entre sus workers. De ahí el orden de despliegue: primero el catálogo, después Trino, en el mismo namespace y sobre el mismo bucket.
Opciones de despliegue¶
| Campo | Función |
|---|---|
| Catálogo Apache Iceberg (Polaris) (obligatorio) | Instancia Apache Iceberg del mismo namespace. Fijado en la creación. |
| Catálogo Iceberg (warehouse) | Nombre del catálogo en Polaris (lakehouse por defecto). |
| Bucket S3 del warehouse (pestaña Almacenamiento) | El mismo bucket que el del catálogo: selecciónelo para rellenar endpoint, región y claves. |
| Endpoint S3, Región S3, Access Key ID, Secret Access Key (pestaña Almacenamiento) | Rellenados por el selector de bucket, modificables después — entrada manual para un S3 externo. us-east-1 por defecto para la región. |
| Número de workers (pestaña Capacidad) | 1 por defecto. |
| Memoria del coordinador, Memoria por worker (pestaña Capacidad) | 3Gi cada una por defecto. Mantener ≥ 3 Gi: el heap JVM está fijado en 1400M y el resto es fuera de heap — se ha observado un OOM con 2 Gi bajo carga. |
Conectarse¶
El inicio de sesión usa su cuenta de la plataforma (OpenID Connect), y el acceso se concede desde Acceso a los usuarios o grupos deseados — véase Acceso y permisos. Tres puertas de entrada:
- La interfaz web,
https://<nombre>-<namespace>.<dominio>/ui/: una consola de supervisión — consultas en curso y pasadas, estado del clúster. No es un editor SQL, no sirve para escribir consultas; - Un cliente SQL:
trino --server https://… --external-authentication, que abre el navegador para iniciar sesión; o JDBC conexternalAuthentication=true, para DBeaver o una herramienta de restitución de terceros; - Un notebook de JupyterHub del mismo namespace: la variable
TRINO_HOSTya está definida (nombre:8080, acceso interno al namespace), suficiente para conectartrino-python-clientsin salir del clúster.
Consultar el lakehouse¶
CREATE SCHEMA lakehouse.ventas;
CREATE TABLE lakehouse.ventas.pedidos AS SELECT 1 AS id, 'test' AS etiqueta;
SELECT * FROM lakehouse.ventas.pedidos;
Los archivos Parquet y los metadatos Iceberg aparecen en el bucket bajo <esquema>/<tabla>-<uuid>/.
Es el mismo catálogo que Spark Connect, PyIceberg y los jobs Spark: una tabla escrita por un tratamiento Spark es legible por Trino acto seguido, y a la inversa. Una sola copia de los datos, varios motores — ese es todo el sentido del lakehouse.
Lo que Trino no hace aquí¶
- Sin federación de fuentes: hay un solo catálogo configurado,
lakehouse, sobre la instancia Apache Iceberg elegida. Los catálogos de demostración del chart original (tpch,tpcds) están retirados, y no se expone en el formulario ningún conector hacia una base de datos aplicativa (PostgreSQL, MySQL…). Consultar una base así desde Trino exigiría añadir un catálogo en los valores del chart. - Sin transformaciones pesadas y largas: para los tratamientos distribuidos costosos, Spark Connect para lo interactivo y los jobs Spark para el batch.
Primer arranque
Cuente de 3 a 4 minutos antes de la primera consulta, el tiempo de arrancar la JVM y cargar los plugins. La tarjeta pasa a Running antes de que Trino responda.
Eliminación¶
Eliminar una instancia Trino también retira su cliente OpenID de la plataforma.