YouTubeデータセットを使ったHiveの実践
HadoopベースのデータウェアハウスインフラストラクチャであるApache Hiveでは、大規模な構造化データを処理できます。Hiveでは、SQLライクな問い合わせ言語を使用してデータを処理するため、ユーザーは簡単にデータ分析やクエリを行うことができます。
この実習では、Hiveを使用してYouTubeデータセットを処理します。YouTubeデータセットは、YouTubeビデオの情報を格納したデータセットで、そこにはビデオのID、タイトル、公開日、再生数、高評価数、低評価などが含まれています。このデータセットをHiveにロードし、簡単なデータ分析を行います。
まず、YouTubeデータセットをダウンロードする必要があります。このデータセットは以下のリンクから入手できます。https://archive.org/download/yt8m_pca/yt8m_pca_train.csv
ダウンロードが完了したら、データセットを Hive に読み込む必要があります。次のコマンドを使用して、データテーブルを作成し、データを読み込むことができます。
CREATE TABLE youtube_data (
video_id STRING,
title STRING,
published_at STRING,
view_count BIGINT,
like_count BIGINT,
dislike_count BIGINT
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
LOAD DATA LOCAL INPATH '/path/to/yt8m_pca_train.csv' OVERWRITE INTO TABLE youtube_data;
在上述命令中,我们首先创建了一个名为youtube_data的表,定义了各个字段的类型。然后,通过LOAD DATA命令将数据加载到表中。
読み込みが完了すると、HiveのSQLを使用してデータの照会や分析を実行できるようになります。以下にサンプルクエリを示します。
- 動画本数の統計
SELECT COUNT(*) FROM youtube_data;
- 視聴数順にソート
SELECT * FROM youtube_data ORDER BY view_count DESC;
- 再生数10万件以上の動画数:
SELECT COUNT(*) FROM youtube_data WHERE view_count > 100000;
Hiveを利用することで、大規模な構造化データの検索や分析を容易に行うことができます。Youtubeのデータセットのような大規模なデータセットを扱う場合に威力を発揮します。