YouTube dataset of dislikes
2021年11月、YouTubeはすべての動画から公開された 低評価 カウントを削除しました。作成者はまだ低評価の数を確認できますが、視聴者は動画が受け取った 高評価 の数のみを見ることができます。
データセットには45.5億件以上のレコードが含まれているため、リソースがその種類のボリュームに対応できない限り、以下のコマンドをそのままコピー&ペーストしないように注意してください。以下のコマンドは、ClickHouse Cloud の Production インスタンスで実行されました。
データはJSON形式で、archive.org からダウンロードできます。同じデータをS3にも提供しているので、ClickHouse Cloudインスタンスにより効率的にダウンロードできます。
ClickHouse Cloudでテーブルを作成し、データを挿入する手順は以下の通りです。
以下の手順は、ローカルのClickHouseインストールでも簡単に動作します。唯一の変更は、s3cluster
の代わりにs3
関数を使用することですが、クラスターが構成されている場合は default
をクラスターの名前に変更してください。
手順の説明
- データがどのような形をしているか見てみましょう。
s3cluster
テーブル関数はテーブルを返すので、結果をDESCRIBE
できます:
ClickHouseはJSONファイルから以下のスキーマを推測します:
- 推測されたスキーマに基づいて、データ型を整理し、主キーを追加しました。以下のテーブルを定義します:
- 以下のコマンドは、S3ファイルから
youtube
テーブルにレコードをストリームします。
これは多くのデータを挿入します - 46.5億行です。データセット全体を挿入したくない場合は、単に LIMIT
句を追加して希望する行数を指定してください。
INSERT
コマンドに関するコメント:
parseDateTimeBestEffortUSOrZero
関数は、受信する日付フィールドが正しい形式でない場合に便利です。もしfetch_date
が正しく解析されない場合、0
に設定されます。upload_date
カラムには有効な日付が含まれていますが、「4 hours ago」などの文字列も含まれており、これは確かに有効な日付ではありません。オリジナルの値をupload_date_str
に保存し、toDate(parseDateTimeBestEffortUSOrZero(upload_date::String))
で解析を試みることにしました。解析に失敗した場合は、単に0
になります。- テーブルに
NULL
値が入るのを避けるためにifNull
を使用しました。受信する値がNULL
の場合、ifNull
関数が値を空の文字列に設定しています。
- ClickHouse CloudのSQLコンソールで新しいタブを開く(または新しい
clickhouse-client
ウィンドウを開く)と、カウントが増えていく様子を確認できます。サーバーリソースに応じて、46.5B行を挿入するにはしばらく時間がかかります。(設定を調整しなくても、約4.5時間かかります。)
- データが挿入されたら、お気に入りの動画またはチャンネルの低評価の数をカウントしてみてください。ClickHouseがアップロードした動画の数を見てみましょう:
上記のクエリは、主キーの最初のカラムとして uploader
を選択したため、非常に迅速に実行されます - そのため、237k行を処理する必要がありました。
- ClickHouseの動画の高評価と低評価を見てみましょう:
レスポンスは以下のようになります:
title
またはdescription
フィールドに ClickHouse が含まれている動画を検索します:
このクエリはすべての行を処理し、2つの文字列カラムを解析する必要があります。それでも、4.15M行/秒で良好なパフォーマンスを得ています:
結果は以下のようになります:
質問
コメントを無効にすると、実際に高評価または低評価をクリックする可能性が低くなりますか?
コメントが無効になった場合、人々は動画についての気持ちを表現するために高評価または低評価をクリックする可能性が高くなりますか?
コメントを有効にすると、エンゲージメント率が高くなることが関連しているようです。
時間の経過とともに動画の数はどのように変化しますか - 注目すべきイベントは?
covidの周りでのアップローダーの急増が目立ちます こちら のリンクをご覧ください。
時間の経過とともに字幕が増えるのはいつか
音声認識の進歩により、字幕を作成することがこれまで以上に簡単になり、YouTubeは2009年末に自動キャプションを追加しました。この時に急増したのでしょうか?
データ結果は2009年に急増を示しています。その時、YouTubeは他の人の動画に対する字幕のアップロードを可能にしたコミュニティキャプション機能を削除していたようです。このことは、視覚障害者や耳が不自由な視聴者のために、クリエイターが動画に字幕を追加するよう働きかける非常に成功したキャンペーンを促しました。