Você pode experimentar isso no ClickHouse auto-hospedado ou no ClickHouse Cloud. Se ainda não tem uma conta, pode iniciar um teste gratuito do ClickHouse Cloud.
Carregando o conjunto de dados
- Sem inserir os dados no ClickHouse, podemos consultá-los diretamente. Vamos obter algumas linhas para ver como elas são:
- Vamos definir uma nova tabela
MergeTreechamadaamazon_reviewspara armazenar esses dados no ClickHouse:
- O comando
INSERTa seguir usa a função de tabelas3Cluster, que distribui os arquivos S3 entre os nós do cluster para que sejam lidos em paralelo.
default e você pode executar o comando como está. Em um servidor autogerenciado, substitua default pelo nome do seu cluster — ou, se estiver usando um único servidor, use a função de tabela s3 e remova o primeiro argumento para que a chamada comece com a URL.
Usamos um caractere curinga na URL para inserir todos os arquivos de avaliações correspondentes.
- Essa consulta não demora muito — em média, cerca de 300.000 linhas por segundo. Em uns 5 minutos, você deverá ver todas as linhas inseridas:
- Vamos ver quanto espaço os dados estão ocupando:
Consultas de exemplo
- Vamos executar algumas consultas. Aqui estão as 10 avaliações mais úteis do conjunto de dados:
Esta consulta usa uma projeção para melhorar o desempenho.
- Aqui estão os 10 produtos da Amazon com mais avaliações:
- Aqui estão as notas médias das avaliações por mês para cada produto (uma pergunta real de entrevista da Amazon!):
- Aqui está o número total de votos por categoria de produto. Esta consulta é rápida porque
product_categoryestá na chave primária:
- Vamos encontrar os produtos em cujas avaliações a palavra “awful” aparece com mais frequência. Esta é uma tarefa pesada — mais de 151M strings precisam ser analisadas em busca de uma única palavra:
runnable
- Podemos executar a mesma consulta novamente, mas desta vez procurando por awesome nas avaliações:
runnable