Trino est un moteur de requête SQL distribué rapide pour l'analyse du Big Data.
Consultez le manuel de l'utilisateur pour les instructions de déploiement et la documentation de l'utilisateur final.
Découvrez le développement de tous les projets de l'organisation Trino :
De plus amples informations dans la section développement du site Web incluent différents rôles, tels que les contributeurs, les réviseurs et les responsables, les processus associés et d'autres aspects.
Consultez le guide du développeur Trino pour plus d'informations sur le SPI, l'implémentation des connecteurs et autres plugins, le protocole client, l'écriture des tests et d'autres détails de niveau inférieur.
Voir DÉVELOPPEMENT pour plus d’informations sur le style de code, le processus de développement et les directives.
Voir CONTRIBUER pour connaître les exigences de contribution.
Consultez la politique de sécurité du projet pour plus d’informations sur la création de rapports sur les vulnérabilités.
Trino prend en charge les builds reproductibles à partir de la version 449.
Trino est un projet Maven standard. Exécutez simplement la commande suivante à partir du répertoire racine du projet :
./mvnw clean install -DskipTests
Lors de la première version, Maven télécharge toutes les dépendances depuis Internet et les met en cache dans le référentiel local ( ~/.m2/repository
), ce qui peut prendre un certain temps, en fonction de votre vitesse de connexion. Les versions ultérieures sont plus rapides.
Trino dispose d'un ensemble complet de tests dont l'exécution prend un temps considérable et sont donc désactivés par la commande ci-dessus. Ces tests sont exécutés par le système CI lorsque vous soumettez une pull request. Nous vous recommandons d'exécuter uniquement des tests localement pour les zones de code que vous modifiez.
Après avoir créé Trino pour la première fois, vous pouvez charger le projet dans votre IDE et exécuter le serveur. Nous vous recommandons d'utiliser IntelliJ IDEA. Trino étant un projet Maven standard, vous pouvez facilement l'importer dans votre IDE. Dans IntelliJ, choisissez Ouvrir le projet dans la zone de démarrage rapide ou choisissez Ouvrir dans le menu Fichier et sélectionnez le fichier racine pom.xml
.
Après avoir ouvert le projet dans IntelliJ, vérifiez que le SDK Java est correctement configuré pour le projet :
Le moyen le plus simple d'exécuter Trino pour le développement consiste à exécuter la classe TpchQueryRunner
. Cela lancera une version de développement du serveur configuré avec le connecteur TPCH. Vous pouvez ensuite utiliser la CLI pour exécuter des requêtes sur ce serveur. De nombreux autres connecteurs possèdent leur propre classe *QueryRunner
que vous pouvez utiliser lorsque vous travaillez sur un connecteur spécifique.
Trino est livré avec un exemple de configuration qui devrait fonctionner immédiatement pour le développement. Utilisez les options suivantes pour créer une configuration d'exécution :
io.trino.server.DevelopmentServer
-ea -Dconfig=etc/config.properties -Dlog.levels-file=etc/log.properties -Djdk.attach.allowAttachSelf=true
$MODULE_DIR$
trino-server-dev
Le répertoire de travail doit être le sous-répertoire trino-server-dev
. Dans IntelliJ, l'utilisation de $MODULE_DIR$
accomplit cela automatiquement.
Si VM options
n'existent pas dans la boîte de dialogue, vous devez sélectionner Modify options
et activer Add VM options
.
Pour ajuster les plugins activés pour le serveur de développement, ajustez la valeur de plugin.bundles
dans config.properties
. Chaque entrée de cette liste doit représenter un plugin spécifié par l'une des options suivantes :
pom.xml
ou *.pom
décrivant un projet Maven qui produit un plugin.<groupId>:<artifactId>[:<extension>[:<classifier>]]:<version>
. Le plugin sera chargé via Maven et devra donc être disponible dans votre dépôt local ou un dépôt distant. Si vous souhaitez utiliser un plugin dans un catalogue, vous devez ajouter un fichier <catalog_name>.properties
correspondant à testing/trino-server-dev/etc/catalog
.
Démarrez la CLI pour vous connecter au serveur et exécuter des requêtes SQL :
client/trino-cli/target/trino-cli-*-executable.jar
Exécutez une requête pour voir les nœuds du cluster :
SELECT * FROM system.runtime.nodes;
Exécutez une requête sur le connecteur TPCH :
SELECT * FROM tpch.tiny.region;