ハドープの魔法で紐解く廃墟データ

HadoopHadoopBeginner
オンラインで実践に進む

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

荒廃した砂漠の真ん中で、孤独な人物が長い間放棄された都市の残骸の中を移動しています。これは、廃墟アーティストの世界であり、崩壊の中に美を見出し、忘れられたものに可能性を見出す空想家の世界です。彼らの目標は、廃墟の中に秘められた物語を明かし、彼らのアートを通じて崩壊しつつある建造物に新たな生命力を吹き込むことです。

廃墟アーティストは、かつて壮大な図書館のさまざまな断片に散らばった古代データの宝庫に出会いました。この豊富な情報を理解し、混沌としたものに秩序をもたらすために、彼らは Hadoop の力とその強力なデータ処理機能、特に Hive のグループ化機能を活用しなければなりません。

環境設定

このステップでは、環境を設定し、分析用のデータを準備します。

  1. ターミナルを開き、次のコマンドを実行して hadoop ユーザーに切り替えます。
su - hadoop
  1. /home/hadoop ディレクトリに移動します。
cd /home/hadoop
  1. データセットを保存するための ruin-data という新しいディレクトリを作成します。
mkdir ruin-data
  1. ruin-data ディレクトリにサンプルデータセットを移動します。
cp /tmp/ruin-dataset.txt ruin-data/

このデータセットには、廃墟で見つかったさまざまな遺物に関する情報が含まれており、その種類、場所、状態などが記載されています。

データセットの探索

このステップでは、データセットを Hive に読み込み、その構造を探索します。

  1. 次のコマンドを実行して Hive シェルを起動します。
hive
  1. ruin_analysis という新しいデータベースを作成します。
CREATE DATABASE ruin_analysis;
  1. ruin_analysis データベースを使用します。
USE ruin_analysis;
  1. ruin-dataset.txt ファイルからのデータを格納するための artifacts という新しい外部テーブルを作成します。
CREATE EXTERNAL TABLE artifacts (
  artifact_id INT,
  artifact_type STRING,
  location STRING,
  condition STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';

このコマンドは、4 つの列 artifact_idartifact_typelocation、および condition を持つ新しいテーブルを作成します。このテーブルは、/home/hadoop/ruin-data ディレクトリに格納されたカンマ区切りのテキストファイルである ruin-dataset.txt ファイルからデータを読み取るように構成されています。5. データを artifacts テーブルに読み込みます。

LOAD DATA LOCAL INPATH '/home/hadoop/ruin-data/ruin-dataset.txt' INTO TABLE artifacts;
  1. 次のコマンドを実行してテーブル構造を確認します。
DESCRIBE artifacts;

これにより、列名とそのデータ型が表示されるはずです。

データのグループ化と集約

このステップでは、GROUP BY 句を使用して遺物データを分析し、隠れたパターンを明らかにします。

  1. Hive シェルで、次のクエリを実行して、各遺物タイプの遺物の数をカウントします。
SELECT artifact_type, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY artifact_type;

このクエリは、artifact_type でデータをグループ化し、COUNT(*) 関数を使用して各タイプの遺物の数を計算します。

  1. 最も一般的な遺物タイプを見つけるには、前のクエリに ORDER BY 句を追加して変更します。
SELECT artifact_type, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY artifact_type
ORDER BY artifact_count DESC
LIMIT 1;

このクエリは、artifact_count で結果を降順にソートし、出力を最初の行に制限して、最も多い数の遺物タイプを取得します。

  1. 遺物のタイプに基づいて遺物の状態を分析しましょう。次のクエリを実行します。
SELECT artifact_type, condition, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY artifact_type, condition
ORDER BY artifact_type, condition;

このクエリは、artifact_typecondition でデータをグループ化し、各組み合わせの遺物の数をカウントし、結果を artifact_typecondition でソートします。

  1. 最後に、次のクエリを実行して、異なる場所にわたる遺物の分布を調べます。
SELECT location, COUNT(*) AS artifact_count
FROM artifacts
GROUP BY location
ORDER BY artifact_count DESC;

このクエリは、location でデータをグループ化し、各場所に見つかった遺物の数をカウントし、artifact_count で降順にソートします。

まとめ

この実験では、古代の廃墟で見つかった遺物のデータセットを分析するために、Hadoop の Hive とその GROUP BY 機能の力を探索しました。環境を設定し、データを Hive に読み込み、さまざまな GROUP BY クエリを実行することで、最も一般的な遺物タイプ、遺物のタイプに基づく状態、および異なる場所にわたる遺物の分布など、貴重な洞察を明らかにしました。

この実践的な経験を通じて、特に大規模かつ複雑なデータセットを扱う際に、Hadoop と Hive をどのようにデータ分析とパターン発見に活用できるかについて、より深い理解を得ました。データをグループ化して集約する能力は、ビッグデータの世界における基本的なスキルであり、この実験はこの重要な概念の実践的な紹介を提供しました。