Набор данных YouTube с дизлайками
В ноябре 2021 года YouTube удалил публичное количество дизлайков со всех своих видеороликов. Хотя создатели по-прежнему могут видеть количество дизлайков, зрители могут только видеть количество лайков, которые получил видеоролик.
Набор данных содержит более 4,55 миллиарда записей, поэтому будьте осторожны при простом копировании и вставке команд ниже, если ваши ресурсы не могут обработать такой объем данных. Команды ниже были выполнены на продакшн инстансе ClickHouse Cloud.
Данные находятся в формате JSON и могут быть загружены с archive.org. Мы сделали эти же данные доступными в S3, чтобы их можно было более эффективно загрузить в инстанс ClickHouse Cloud.
Вот шаги к созданию таблицы в ClickHouse Cloud и вставке данных.
Шаги ниже также легко работают на локальной установке ClickHouse. Единственное изменение - использовать функцию s3
вместо s3cluster
(если у вас не настроен кластер, в противном случае измените default
на имя вашего кластера).
Пошаговые инструкции
- Давайте посмотрим, как выглядят данные. Функция таблицы
s3cluster
возвращает таблицу, поэтому мы можем выполнитьDESCRIBE
результата:
ClickHouse выводит следующую схему из файла JSON:
- На основе выведенной схемы мы очистили типы данных и добавили первичный ключ. Определите следующую таблицу:
- Следующая команда передает записи из файлов 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
устанавливает значение в пустую строку
- Откройте новую вкладку в консоли SQL ClickHouse Cloud (или новое окно
clickhouse-client
) и наблюдайте за увеличением счетчика. Вставка 4,56B строк займет некоторое время, в зависимости от ваших серверных ресурсов. (Без каких-либо настроек это занимает около 4,5 часов.)
- Как только данные вставлены, вы можете подсчитать количество дизлайков ваших любимых видеороликов или каналов. Давайте посмотрим, сколько видеороликов было загружено ClickHouse:
Запрос выше выполняется так быстро, потому что мы выбрали uploader
в качестве первого столбца первичного ключа - поэтому ему нужно было обработать только 237k строк.
- Давайте посмотрим на лайки и дизлайки видеороликов ClickHouse:
Ответ выглядит следующим образом:
- Вот поиск видео с ClickHouse в полях
title
илиdescription
:
Этот запрос должен обработать каждую строку, а также просмотреть два столбца строк. Даже тогда мы получаем хорошую производительность 4,15 миллиона строк в секунду:
Результаты выглядят следующим образом:
Вопросы
Если кто-то отключает комментарии, понижает ли это вероятность того, что кто-то действительно нажмет лайк или дизлайк?
Когда комментарии отключены, более склонны ли люди ставить лайки или дизлайки, чтобы выразить свои чувства о видео?
Включение комментариев, похоже, коррелирует с более высокой степенью вовлеченности.
Как изменяется количество видео с течением времени - заметные события?
Пик количества загрузчиков вокруг коронавируса заметен.
Больше субтитров с течением времени и когда
С развитием распознавания речи, создание субтитров для видео стало проще, чем когда-либо. YouTube добавил автоматические субтитры в конце 2009 года - был ли скачок именно тогда?
Результаты данных показывают скачок в 2009 году. Похоже, в то время YouTube удалял свою функцию сообществ, позволяющую загружать субтитры для других видео. Это вызвало очень успешную кампанию, чтобы побудить создателей добавлять субтитры к своим видео для людей с нарушениями слуха и для глухих зрителей.