Tous les produits
Search
Centre de documentation

E-MapReduce:Trino

Dernière mise à jour :Aug 09, 2026

Trino, anciennement PrestoSQL, est un moteur de requêtes SQL distribué et open source dédié à l'analytique interactive. À partir des versions 3.44.0 et 5.10.0 d'E-MapReduce (EMR), EMR a adopté le nom officiel de la communauté, Trino. Les versions antérieures affichaient le nom Presto dans la console, mais le moteur sous-jacent était déjà Trino.

Fonctionnalités de base

Développé en Java, Trino est conçu pour offrir des performances élevées lors de l'analytique interactive. Il prend en charge :

  • La conformité totale à la norme ANSI SQL.

  • Une large gamme de sources de données via des connecteurs, notamment :

    • Hive

    • Cassandra

    • Kafka

    • MongoDB

    • MySQL

    • PostgreSQL

    • SQL Server

    • Redis

    • Redshift

    • Fichiers locaux

  • Des structures de données avancées, telles que :

    • Tableaux et maps

    • Données JSON

    • Données SIG (GIS)

    • Données de couleur

  • L'extensibilité via plusieurs mécanismes, dont :

    • Connecteurs de données d'extension

    • Types de données personnalisés

    • Fonctions SQL personnalisées

  • Le traitement en pipeline qui diffuse les résultats des requêtes aux clients en temps réel.

  • La surveillance via plusieurs interfaces :

    • Une interface web qui visualise la progression de l'exécution des requêtes.

    • Le protocole JMX.

Composants du système

Le schéma suivant illustre les composants du système Trino.Presto系统组成

Un cluster Trino repose sur une architecture coordinateur/travailleur. Le coordinateur accepte les requêtes SQL des clients, les analyse et élabore un plan, puis distribue les tâches résultantes aux nœuds travailleurs. Le coordinateur assure les fonctions suivantes :

  • Acceptation des requêtes utilisateur, analyse, génération des plans d'exécution et distribution des tâches aux nœuds travailleurs.

  • Surveillance de l'état des nœuds travailleurs. Chaque nœud travailleur maintient une connexion heartbeat avec le coordinateur pour signaler son statut.

  • Gestion des données du metastore.

Les nœuds travailleurs exécutent les tâches distribuées. Ils utilisent des connecteurs pour lire les données depuis des systèmes de stockage externes, traiter ces données et renvoyer les résultats au coordinateur.

Cas d'utilisation

Trino est conçu pour les charges de travail OLAP (Online Analytical Processing), telles que l'analyse de données, les agrégations à grande échelle et la génération de rapports. Il convient aux scénarios suivants :

  • Extract, Transform, Load (ETL)

  • Requêtes ad hoc

  • Analyse de données structurées ou semi-structurées à grande échelle

  • Agrégation et analyse de rapports pour des données multidimensionnelles volumineuses

Important

Trino n'est pas une base de données relationnelle polyvalente et ne remplace pas des systèmes tels que MySQL ou PostgreSQL. Sa prise en charge des transactions étant limitée, il ne convient pas aux charges de travail OLTP (Online Transaction Processing) ou autres tâches transactionnelles.

Avantages

Trino sur E-MapReduce (EMR) offre les avantages suivants par rapport à la version open source de Trino :

  • Clusters prêts à l'emploi. Déployez un cluster Trino de centaines de nœuds en quelques minutes, sans configuration requise.

  • Mise à l'échelle élastique simplifiée.

  • Intégration transparente avec la pile logicielle EMR et prise en charge des données stockées dans Object Storage Service (OSS).

  • Opérations entièrement gérées, sans besoin de maintenance opérationnelle.

Terminologie

Modèle de données

Trino organise les données selon une hiérarchie à trois niveaux : catalogs, schemas et tables.

  • Catalog

    Un catalog correspond à une source de données externe via un connecteur et contient un ou plusieurs schemas. Une seule requête peut s'étendre sur plusieurs catalogs.

  • Schema

    Un schema équivaut à une instance de base de données et contient plusieurs tables.

  • Table

    Une table fonctionne de la même manière que dans une base de données relationnelle standard.

Connecteur

Un connecteur adapte Trino à une source de données spécifique, à l'instar d'un pilote de base de données. Chaque catalog est associé à un type de connecteur, configuré dans le fichier de propriétés du catalog.

Trino fournit une interface Service Provider Interface (SPI) standard que vous pouvez implémenter pour créer des connecteurs personnalisés pour n'importe quelle source de données. Trino inclut également plusieurs connecteurs intégrés, regroupés par type de source de données :

  • Data lakes et lakehouses : Hive et autres sources compatibles Hadoop

  • Bases de données relationnelles : MySQL, PostgreSQL, SQL Server

  • Autres systèmes : Cassandra, Kafka, MongoDB, Redis, Redshift et fichiers locaux

Pour en savoir plus

Pour consulter la documentation open source de Trino, remplacez le numéro de version dans l'URL http://trino.io/docs/3XX//@filepath par la version de votre composant Trino, puis ouvrez le lien dans un navigateur.

Par exemple, si votre version de Trino est la 331, utilisez https://trino.io/docs/331//@filepath. Pour plus d'informations, consultez la documentation Trino 331.