Trino é um mecanismo de consulta SQL distribuído rápido para análise de big data.
Consulte o Manual do usuário para obter instruções de implantação e documentação do usuário final.
Aprenda sobre o desenvolvimento de todos os projetos da organização Trino:
Mais informações na seção de desenvolvimento do site incluem diferentes funções, como contribuidores, revisores e mantenedores, processos relacionados e outros aspectos.
Consulte o guia do desenvolvedor Trino para obter informações sobre o SPI, implementando conectores e outros plug-ins de plug-ins, o protocolo do cliente, escrevendo testes e outros detalhes de nível inferior.
Consulte DESENVOLVIMENTO para obter informações sobre estilo de código, processo de desenvolvimento e diretrizes.
Consulte CONTRIBUINDO para obter os requisitos de contribuição.
Consulte a política de segurança do projeto para obter informações sobre como relatar vulnerabilidades.
Trino oferece suporte a compilações reproduzíveis a partir da versão 449.
Trino é um projeto Maven padrão. Basta executar o seguinte comando no diretório raiz do projeto:
./mvnw clean install -DskipTests
Na primeira compilação, o Maven baixa todas as dependências da internet e as armazena em cache no repositório local ( ~/.m2/repository
), o que pode demorar um pouco, dependendo da velocidade da sua conexão. As compilações subsequentes são mais rápidas.
Trino possui um conjunto abrangente de testes que levam um tempo considerável para serem executados e, portanto, são desabilitados pelo comando acima. Esses testes são executados pelo sistema CI quando você envia uma solicitação pull. Recomendamos apenas executar testes localmente para as áreas do código que você alterar.
Depois de construir o Trino pela primeira vez, você pode carregar o projeto em seu IDE e executar o servidor. Recomendamos o uso do IntelliJ IDEA. Como o Trino é um projeto Maven padrão, você pode importá-lo facilmente para o seu IDE. No IntelliJ, escolha Abrir projeto na caixa Início rápido ou escolha Abrir no menu Arquivo e selecione o arquivo pom.xml
raiz.
Após abrir o projeto no IntelliJ, verifique se o Java SDK está configurado corretamente para o projeto:
A maneira mais simples de executar o Trino para desenvolvimento é executar a classe TpchQueryRunner
. Ele iniciará uma versão de desenvolvimento do servidor configurado com o conector TPCH. Você pode então usar a CLI para executar consultas nesse servidor. Muitos outros conectores têm sua própria classe *QueryRunner
que você pode usar ao trabalhar em um conector específico.
Trino vem com uma configuração de exemplo que deve funcionar imediatamente para desenvolvimento. Use as seguintes opções para criar uma configuração de execução:
io.trino.server.DevelopmentServer
-ea -Dconfig=etc/config.properties -Dlog.levels-file=etc/log.properties -Djdk.attach.allowAttachSelf=true
$MODULE_DIR$
trino-server-dev
O diretório de trabalho deve ser o subdiretório trino-server-dev
. No IntelliJ, usar $MODULE_DIR$
faz isso automaticamente.
Se VM options
não existirem na caixa de diálogo, será necessário selecionar Modify options
e ativar Add VM options
.
Para ajustar quais plugins estão habilitados para o servidor de desenvolvimento, ajuste o valor de plugin.bundles
em config.properties
. Cada entrada nesta lista deve representar um plugin especificado por uma das seguintes opções:
pom.xml
ou *.pom
que descreve um projeto Maven que produz um plug-in.<groupId>:<artifactId>[:<extension>[:<classifier>]]:<version>
. O plugin será carregado via Maven e portanto deve estar disponível em seu repositório local ou remoto. Se desejar usar um plug-in em um catálogo, você deverá adicionar um arquivo <catalog_name>.properties
correspondente em testing/trino-server-dev/etc/catalog
.
Inicie a CLI para conectar-se ao servidor e executar consultas SQL:
client/trino-cli/target/trino-cli-*-executable.jar
Execute uma consulta para ver os nós no cluster:
SELECT * FROM system.runtime.nodes;
Execute uma consulta no conector TPCH:
SELECT * FROM tpch.tiny.region;