Trino — это быстрый распределенный механизм запросов SQL для анализа больших данных.
Инструкции по развертыванию и документацию для конечного пользователя см. в руководстве пользователя.
Узнайте о разработке для всех проектов организации Trino:
Дополнительная информация в разделе разработки веб-сайта включает различные роли, такие как участники, рецензенты и сопровождающие, соответствующие процессы и другие аспекты.
См. руководство разработчика Trino для получения информации о SPI, реализации коннекторов и других подключаемых модулей, клиентском протоколе, написании тестов и других деталях более низкого уровня.
См. РАЗРАБОТКУ для получения информации о стиле кода, процессе разработки и рекомендациях.
См. ВКЛАД, чтобы узнать требования к вкладу.
Информацию о сообщении об уязвимостях см. в политике безопасности проекта.
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
.
Чтобы настроить, какие плагины будут включены для сервера разработки, измените значение plugin.bundles
в config.properties
. Каждая запись в этом списке должна представлять плагин, указанный одним из следующих параметров:
pom.xml
или *.pom
описывающему проект Maven, создающий плагин.<groupId>:<artifactId>[:<extension>[:<classifier>]]:<version>
. Плагин будет загружен через 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;