Pular para o conteúdo principal
Em novembro de 2021, o YouTube removeu a contagem pública de dislikes de todos os vídeos. Embora os criadores ainda possam ver o número de dislikes, os espectadores só conseguem ver quantos likes um vídeo recebeu.
O dataset tem mais de 4,55 bilhões de registros, então tome cuidado ao simplesmente copiar e colar os comandos abaixo, a menos que seus recursos consigam lidar com esse volume. Os comandos abaixo foram executados em uma instância de produção do ClickHouse Cloud.
Os dados estão em formato JSON e podem ser baixados do archive.org. Também disponibilizamos esses mesmos dados no S3 para que possam ser carregados com mais eficiência em uma instância do ClickHouse Cloud. Aqui estão as etapas para criar uma tabela no ClickHouse Cloud e inserir os dados.
As etapas abaixo também funcionam facilmente em uma instalação local do ClickHouse. A única mudança é usar a função s3 em vez de s3cluster (a menos que você tenha um cluster configurado — nesse caso, altere default para o nome do seu cluster).

Instruções passo a passo

1

Exploração de dados

Vamos ver a aparência dos dados. A função de tabela s3cluster retorna uma tabela, então podemos DESCRIBE o resultado:
O ClickHouse infere o seguinte esquema a partir do arquivo JSON:
2

Crie a tabela

Com base no esquema inferido, ajustamos os tipos de dados e adicionamos uma chave primária. Defina a tabela a seguir:
3

Inserir dados

O comando a seguir carrega os registros dos arquivos S3 na tabela youtube.
Isso insere uma grande quantidade de dados - 4,65 bilhões de linhas. Se você não quiser o conjunto de dados completo, basta adicionar uma cláusula LIMIT com o número desejado de linhas.
Alguns comentários sobre nosso comando INSERT:
  • A função parseDateTimeBestEffortUSOrZero é útil quando os campos de data recebidos podem não estar no formato correto. Se fetch_date não for convertido corretamente, ele será definido como 0
  • A coluna upload_date contém datas válidas, mas também inclui strings como “4 hours ago” — o que certamente não é uma data válida. Decidimos armazenar o valor original em upload_date_str e tentar convertê-lo com toDate(parseDateTimeBestEffortUSOrZero(upload_date::String)). Se a conversão falhar, simplesmente obteremos 0
  • Usamos ifNull para evitar valores NULL na nossa tabela. Se um valor recebido for NULL, a função ifNull definirá o valor como uma string vazia
4

Conte o número de linhas

Abra uma nova aba no SQL Console do ClickHouse Cloud (ou uma nova janela do clickhouse-client) e acompanhe o aumento da contagem. Levará algum tempo para inserir 4.56B linhas, dependendo dos recursos do seu servidor. (Sem ajustar nenhuma configuração, isso leva cerca de 4,5 horas.)
5

Explore os dados

Depois que os dados forem inseridos, conte o número de dislikes dos seus vídeos ou canais favoritos. Vamos ver quantos vídeos foram publicados pelo ClickHouse:
A consulta acima é executada tão rapidamente porque escolhemos uploader como a primeira coluna da chave primária, então ela só precisou processar 237 mil linhas.
Vamos analisar as curtidas e as não curtidas dos vídeos do ClickHouse:
A resposta é semelhante a:
Aqui está uma busca por vídeos com ClickHouse nos campos title ou description:
Esta consulta precisa processar cada linha e também fazer o parse de duas colunas de strings. Ainda assim, obtemos um desempenho razoável de 4,15M linhas/segundo:
O resultado fica assim:

Perguntas

Se alguém desativar os comentários, isso diminui a chance de alguém realmente clicar em gostei ou não gostei?

Quando os comentários estão desativados, as pessoas têm mais probabilidade de clicar em gostei ou não gostei para expressar o que sentem em relação a um vídeo?
Ativar os comentários parece estar associado a uma taxa mais alta de engajamento.

Como o número de vídeos evolui ao longo do tempo — eventos notáveis?

Um pico no número de pessoas enviando vídeos durante a covid é perceptível.

Mais legendas ao longo do tempo — e quando

Com os avanços no reconhecimento de fala, ficou mais fácil do que nunca criar legendas para vídeos. Como o YouTube adicionou legendas automáticas no fim de 2009, o salto aconteceu nessa época?
Os resultados mostram um pico em 2009. Ao que tudo indica, naquela época o YouTube estava descontinuando o recurso de legendas da comunidade, que permitia enviar legendas para os vídeos de outras pessoas. Isso motivou uma campanha muito bem-sucedida para que os criadores adicionassem legendas aos seus vídeos para pessoas surdas e com deficiência auditiva.

Principais usuários que fizeram upload ao longo do tempo

Como a taxa de curtidas muda à medida que as visualizações aumentam?

Como as views são distribuídas?

Última modificação em 10 de junho de 2026