Trino は、ビッグ データ分析用の高速分散 SQL クエリ エンジンです。
導入手順とエンドユーザー向けドキュメントについては、ユーザー マニュアルを参照してください。
すべての Trino 組織プロジェクトの開発について学びます。
Web サイトの開発セクションの詳細情報には、寄稿者、レビュー担当者、保守担当者などのさまざまな役割、関連プロセス、その他の側面が含まれています。
SPI、コネクタやその他のプラグインの実装、クライアント プロトコル、テストの作成、その他の下位レベルの詳細については、Trino 開発者ガイドを参照してください。
コード スタイル、開発プロセス、ガイドラインについては、「開発」を参照してください。
貢献要件については、「貢献」を参照してください。
脆弱性の報告については、プロジェクトのセキュリティ ポリシーを参照してください。
Trino は、バージョン 449 の時点で再現可能なビルドをサポートしています。
Trino は標準の Maven プロジェクトです。プロジェクトのルート ディレクトリから次のコマンドを実行するだけです。
./mvnw clean install -DskipTests
最初のビルドでは、Maven はインターネットからすべての依存関係をダウンロードし、ローカル リポジトリ ( ~/.m2/repository
) にキャッシュします。接続速度によっては、時間がかかる場合があります。後続のビルドは高速になります。
Trino には、実行にかなりの時間がかかるため、上記のコマンドによって無効になるテストの包括的なセットがあります。これらのテストは、プル リクエストを送信するときに CI システムによって実行されます。変更するコード領域に対してのみローカルでテストを実行することをお勧めします。
Trino を初めて構築した後、プロジェクトを IDE にロードしてサーバーを実行できます。 IntelliJ IDEA の使用をお勧めします。 Trino は標準の Maven プロジェクトであるため、IDE に簡単にインポートできます。 IntelliJ で、 [クイック スタート]ボックスから[プロジェクトを開く]を選択するか、 [ファイル]メニューから[開く]を選択してルートのpom.xml
ファイルを選択します。
IntelliJ でプロジェクトを開いた後、Java SDK がプロジェクトに対して適切に構成されていることを再確認します。
開発のために Trino を実行する最も簡単な方法は、 TpchQueryRunner
クラスを実行することです。 TPCH コネクタを使用して構成されたサーバーの開発バージョンが起動します。その後、CLI を使用して、このサーバーに対してクエリを実行できます。他の多くのコネクタには、特定のコネクタで作業するときに使用できる独自の*QueryRunner
クラスがあります。
Trino には、開発にすぐに使用できるサンプル構成が付属しています。次のオプションを使用して実行構成を作成します。
io.trino.server.DevelopmentServer
-ea -Dconfig=etc/config.properties -Dlog.levels-file=etc/log.properties -Djdk.attach.allowAttachSelf=true
$MODULE_DIR$
trino-server-dev
作業ディレクトリはtrino-server-dev
サブディレクトリである必要があります。 IntelliJ では、 $MODULE_DIR$
を使用すると、これが自動的に行われます。
ダイアログにVM options
存在しない場合は、 Modify options
を選択し、 Add VM options
を有効にする必要があります。
開発サーバーでどのプラグインを有効にするかを調整するには、 config.properties
のplugin.bundles
の値を調整します。このリストの各エントリは、次のオプションのいずれかで指定されたプラグインを表す必要があります。
pom.xml
または*.pom
ファイルへのパス。<groupId>:<artifactId>[:<extension>[:<classifier>]]:<version>
形式の Maven 座標。プラグインは Maven 経由でロードされるため、ローカル リポジトリまたはリモート リポジトリで利用できる必要があります。カタログ内のプラグインを使用する場合は、対応する<catalog_name>.properties
ファイルをtesting/trino-server-dev/etc/catalog
に追加する必要があります。
CLI を起動してサーバーに接続し、SQL クエリを実行します。
client/trino-cli/target/trino-cli-*-executable.jar
クエリを実行してクラスター内のノードを確認します。
SELECT * FROM system.runtime.nodes;
TPCH コネクタに対してクエリを実行します。
SELECT * FROM tpch.tiny.region;