Skip to main content
All quickstarts
Analytics em tempo realArmazenamento de dadosCloudOSS

Visão geral

Aprenda a ingerir e consultar dados no ClickHouse usando o conjunto de dados de exemplo de táxis da cidade de Nova York.

Pré-requisitos

Você precisa ter acesso a um serviço ClickHouse em execução para concluir este tutorial. Para obter instruções, consulte o guia Quick Start.
1

Crie uma nova tabela

O conjunto de dados de táxis da cidade de Nova York contém informações sobre milhões de corridas, incluindo colunas como valor da gorjeta, pedágios, tipo de pagamento e muito mais. Crie uma tabela para armazenar esses dados.
  1. Conecte-se ao console SQL:
    • No ClickHouse Cloud, selecione um serviço no menu suspenso e, em seguida, SQL Console no menu de navegação à esquerda.
    • No ClickHouse autogerenciado, conecte-se ao console SQL em https://_hostname_:8443/play. Consulte o administrador do ClickHouse para obter mais detalhes.
  2. Crie a seguinte tabela trips no banco de dados default:
2

Adicione o conjunto de dados

Agora que você criou uma tabela, adicione os dados de táxis da cidade de Nova York a partir de arquivos CSV no S3.
  1. O comando a seguir insere cerca de 2.000.000 de linhas na tabela trips a partir de dois arquivos diferentes no S3: trips_1.tsv.gz e trips_2.tsv.gz:
  2. Aguarde a conclusão do INSERT. O download dos 150 MB de dados pode levar alguns instantes.
  3. Quando a inserção terminar, verifique se ela foi concluída com êxito:
    Esta consulta deve retornar 1.999.657 linhas.
3

Analise os dados

Execute algumas consultas para analisar os dados. Explore os exemplos a seguir ou experimente sua própria consulta SQL.
  • Calcule o valor médio das gorjetas:

  • Calcule o custo médio com base no número de passageiros:

    O valor de passenger_count varia de 0 a 9:

  • Calcule o número diário de corridas iniciadas por bairro:

  • Calcule a duração de cada viagem em minutos e agrupe os resultados por duração da viagem:

  • Mostre o número de embarques em cada bairro, detalhado por hora do dia:

  1. Recupere as corridas para os aeroportos LaGuardia ou JFK:

4

Crie um Dicionário

Um dicionário é um mapeamento de pares chave-valor armazenado em memória. Para mais detalhes, consulte DicionáriosCrie um dicionário associado a uma tabela no seu serviço ClickHouse. A tabela e o dicionário são baseados em um arquivo CSV que contém uma linha para cada bairro da cidade de Nova York.Os bairros são mapeados para os nomes dos cinco distritos de Nova York (Bronx, Brooklyn, Manhattan, Queens e Staten Island), além do Aeroporto de Newark (EWR).Veja a seguir um trecho do arquivo CSV que você está usando, em formato de tabela. A coluna LocationID do arquivo corresponde às colunas pickup_nyct2010_gid e dropoff_nyct2010_gid da sua tabela trips:
  1. Execute o comando SQL a seguir, que cria um dicionário chamado taxi_zone_dictionary e o preenche com dados do arquivo CSV armazenado no S3. A URL do arquivo é https://datasets-documentation.s3.eu-west-3.amazonaws.com/nyc-taxi/taxi_zone_lookup.csv.
Definir LIFETIME como 0 desativa as atualizações automáticas para evitar tráfego desnecessário no nosso bucket do S3. Em outros casos, você pode configurá-lo de outra forma. Para mais detalhes, consulte Atualização de dados de dicionário usando LIFETIME.
  1. Verifique se funcionou. O comando a seguir deve retornar 265 linhas, uma para cada bairro:
  2. Use a função dictGet (ou suas variações) para recuperar um valor de um dicionário. Informe o nome do dicionário, o valor desejado e a chave (que, neste exemplo, é a coluna LocationID de taxi_zone_dictionary). Por exemplo, a consulta a seguir retorna o Borough correspondente ao LocationID 132, que é o aeroporto JFK:
    JFK fica em Queens. Observe que o tempo para recuperar o valor é praticamente 0:
  3. Use a função dictHas para verificar se uma chave está presente no dicionário. Por exemplo, a consulta a seguir retorna 1 (que equivale a “true” no ClickHouse):
  4. A consulta a seguir retorna 0 porque 4567 não é um valor de LocationID no Dicionário:
  5. Use a função dictGet para obter o nome de um distrito em uma consulta. Por exemplo:
    Esta consulta soma o número de corridas de táxi por distrito que terminam no aeroporto LaGuardia ou JFK. O resultado é semelhante ao seguinte. Observe que há várias corridas em que o bairro de embarque é desconhecido:
5

Executar um join

Escreva algumas consultas que façam uma junção entre o taxi_zone_dictionary e sua tabela trips.
  1. Comece com um JOIN simples que funciona de modo semelhante à consulta anterior sobre aeroportos:
    A resposta é idêntica à da consulta com dictGet:
Observe que a saída da consulta JOIN acima é igual à da consulta anterior que usava dictGetOrDefault (exceto pelos valores Unknown, que não estão incluídos). Internamente, o ClickHouse chama a função dictGet para o dicionário taxi_zone_dictionary, mas a sintaxe JOIN é mais familiar para desenvolvedores SQL.
  1. Esta consulta retorna as linhas das 1.000 viagens com os maiores valores de gorjeta e, em seguida, realiza uma junção interna de cada linha com o dicionário:
Em geral, evitamos usar SELECT * com frequência no ClickHouse. Recupere apenas as colunas de que você realmente precisa.

Próximas etapas

Saiba mais sobre o ClickHouse na documentação a seguir:
Last modified on August 14, 2026