Перейти к основному содержимому
Перейти к основному содержимому

Набор данных YouTube о дизлайках

В ноябре 2021 года YouTube убрал публичный дизлайк со всех своих видео. Хотя авторы по-прежнему могут видеть количество дизлайков, зрители могут только узнать, сколько видео получило лайков.

к сведению

В наборе данных более 4.55 миллиардов записей, поэтому будьте осторожны, просто копируя и вставляя команды ниже, если ваши ресурсы не могут справиться с таким объемом. Команды ниже были выполнены на Production экземпляре ClickHouse Cloud.

Данные находятся в формате JSON и могут быть загружены с archive.org. Мы предоставили эти же данные в S3, чтобы их можно было более эффективно загрузить в экземпляр ClickHouse Cloud.

Вот шаги для создания таблицы в ClickHouse Cloud и вставки данных.

примечание

Шаги ниже также легко сработают на локальной установке ClickHouse. Единственное изменение будет заключаться в использовании функции s3, вместо s3cluster (если у вас нет настроенного кластера - в этом случае замените default на имя вашего кластера).

Пошаговые инструкции

  1. Давайте посмотрим, как выглядят данные. Функция таблицы s3cluster возвращает таблицу, так что мы можем DESCRIBE результат:

ClickHouse извлек следующую схему из JSON файла:

  1. На основе извлеченной схемы, мы очистили типы данных и добавили первичный ключ. Определите следующую таблицу:
  1. Следующая команда передает записи из S3 файлов в таблицу youtube.
к сведению

Это вставляет много данных - 4.65 миллиарда строк. Если вы не хотите весь набор данных, просто добавьте клаузу LIMIT с желаемым количеством строк.

Некоторые комментарии о нашей команде INSERT:

  • Функция parseDateTimeBestEffortUSOrZero полезна, когда входные поля даты могут быть не в правильном формате. Если fetch_date не был разобран правильно, он будет установлен в 0
  • Колонка upload_date содержит действительные даты, но также содержит строки, такие как "4 часа назад" - что, безусловно, не является действительной датой. Мы решили сохранить оригинальное значение в upload_date_str и попытаться разобрать его с помощью toDate(parseDateTimeBestEffortUSOrZero(upload_date::String)). Если разбора не удается, мы просто получаем 0
  • Мы использовали ifNull, чтобы избежать получения NULL значений в нашей таблице. Если входящее значение NULL, функция ifNull устанавливает значение в пустую строку
  1. Откройте новую вкладку в SQL Console ClickHouse Cloud (или новое окно clickhouse-client) и следите, как увеличивается счетчик. Вставка 4.56B строк займет некоторое время в зависимости от ресурсов вашего сервера. (Без каких-либо изменений в настройках это занимает около 4.5 часов.)
  1. После вставки данных, вперед и посчитайте количество дизлайков ваших любимых видео или каналов. Давайте посмотрим, сколько видео было загружено ClickHouse:
примечание

Запрос выше выполняется так быстро, потому что мы выбрали uploader в качестве первого столбца первичного ключа - так что ему пришлось обработать только 237к строк.

  1. Давайте посмотрим на лайки и дизлайки видео ClickHouse:

Ответ выглядит так:

  1. Вот запрос на видео с ClickHouse в полях title или description:

Этот запрос должен обработать каждую строку и также разобрать два столбца строк. Даже в этом случае мы получаем приличную производительность на уровне 4.15M строк/сек:

Результаты выглядят так:

Вопросы

Если кто-то отключает комментарии, снижает ли это вероятность того, что кто-то нажмет "лайк" или "дизлайк"?

Когда комментирование отключено, в большей степени ли люди ставят лайки или дизлайки, чтобы выразить свои чувства по поводу видео?

Включение комментариев, похоже, связано с более высокой степенью вовлеченности.

Как меняется количество видео с течением времени - значимые события?

Всплеск числа загрузчиков вокруг COVID хорошо заметен.

Больше субтитров с течением времени и когда

С развитием распознавания речи стало проще создавать субтитры для видео, и YouTube добавил авто-капционирование в конце 2009 года - это был скачок?

Результаты данных показывают всплеск в 2009 году. По всей видимости, в это время YouTube удаляла свою функцию общественных субтитров, которая позволяла загружать субтитры для видео других людей. Это привело к очень успешной кампании по добавлению субтитров в видео для людей с нарушениями слуха и глухих зрителей.

Лучшие загрузчики с течением времени

Как меняется соотношение лайков по мере увеличения просмотров?

Как распределяются просмотры?