タイムワープ Hive のマスタリー

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

はじめに

時空連続体の広大な領域において、時そのものの構造を操作する力を持つ神秘的な力が現れました。時の操り人形として知られる悪意のある人物が、宇宙の微妙なバランスを乱すことを目指しています。あなたがそれを受け入れる選択をするなら、あなたの使命は、時系列のチャレンジの迷路を抜け出し、Hadoop Hive クエリの技術を身につけ、時の操り人形の邪悪な計画を阻止するための秘密を解き明かすことです。

時の操り人形は、時系列データの断片を様々な次元に散らばらせています。あなたの任務は、Hadoop Hive の力を利用して、これらの散らばった情報を収集、分析、解釈することです。HiveQL クエリの複雑さをマスターすることでのみ、データの中に隠された謎を解き明かし、時空連続体に秩序を取り戻すことができます。

環境のセットアップ

このステップでは、Hadoop クラスタをセットアップし、Hive メタストアを構成することで、これからのチャレンジに向けて環境を整えます。

  1. ターミナルを開き、以下のコマンドを実行して hadoop ユーザーに切り替えます。
su - hadoop
  1. /home/hadoop ディレクトリに移動します。
cd /home/hadoop
  1. hive_lab という新しいディレクトリを作成します。
mkdir hive_lab
  1. hive_lab ディレクトリに移動します。
cd hive_lab
  1. 以下のコマンドを実行して Hive メタストアを起動します。
hive --service metastore

このコマンドは、Hive データベース、テーブル、パーティションのメタデータを管理するために必須の Hive メタストアサービスを起動します。

Hive データベースとテーブルの作成

このステップでは、時系列データの断片を格納するための Hive データベースとテーブルを作成します。

  1. 新しいターミナルウィンドウを開き、hadoop ユーザーに切り替えます。
su - hadoop
  1. Hive シェルを起動します。
hive
  1. Hive シェル内で、time_fragments という新しいデータベースを作成します。
CREATE DATABASE time_fragments;
  1. time_fragments データベースに切り替えます。
USE time_fragments;
  1. 以下のスキーマを持つ event_logs というテーブルを作成します。
CREATE TABLE event_logs (
  event_id INT,
  event_name STRING,
  event_timestamp TIMESTAMP,
  event_location STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;

このテーブルは、イベント ID、イベント名、タイムスタンプ、場所を含む時系列データの断片を格納します。

  1. Hive シェルを終了します。
EXIT;

Hive テーブルにデータを読み込む

このステップでは、前のステップで作成した event_logs テーブルに時系列データの断片を読み込みます。

  1. hive_lab ディレクトリに event_data.csv という新しいファイルを作成します。
nano event_data.csv
  1. 以下のデータを event_data.csv ファイルにコピーして貼り付けます。
1,Time Warp,2023-05-01 10:00:00,New York
2,Chrono Shift,2023-05-02 14:30:00,Tokyo
3,Temporal Distortion,2023-05-03 08:15:00,London
4,Paradox Pulse,2023-05-04 19:45:00,Sydney
5,Quantum Leap,2023-05-05 06:00:00,Moscow
  1. ファイルを保存して、テキストエディタを終了します。

  2. 以下のコマンドを使用して、event_data.csv ファイルからのデータを event_logs テーブルに読み込みます。

hive -e "LOAD DATA LOCAL INPATH '/home/hadoop/hive_lab/event_data.csv' OVERWRITE INTO TABLE time_fragments.event_logs;"

このコマンドは、ローカルの event_data.csv ファイルからのデータを time_fragments データベースの event_logs テーブルに読み込みます。

Hive テーブルの照会

このステップでは、event_logs テーブルに格納されている時系列データの断片を分析するために、HiveQL クエリを書く練習をします。

  1. Hive シェルを起動します。
hive
  1. time_fragments データベースに切り替えます。
USE time_fragments;
  1. event_logs テーブルからすべての列を選択するクエリを書きます。
SELECT * FROM event_logs;

このクエリは、event_logs テーブルのすべての行と列を表示します。

  1. 各場所で発生したイベントの数をカウントするクエリを書きます。
CREATE TABLE result_1
AS
SELECT event_location, COUNT(*) AS event_count
FROM event_logs
GROUP BY event_location;

SELECT * FROM result_1;

このクエリは、場所ごとにイベントをグループ化し、各場所のイベントの数をカウントします。

  1. 最も早いタイムスタンプを持つイベントを見つけるクエリを書きます。
CREATE TABLE result_2
AS
SELECT * FROM event_logs
ORDER BY event_timestamp ASC
LIMIT 1;

SELECT * FROM result_2;

このクエリは、event_timestamp 列で昇順にイベントを並べ替え、最初の行を返します。最初の行は、最も早いタイムスタンプを持つイベントに対応します。

  1. Hive シェルを終了します。
EXIT;

まとめ

この実験では、あなたは時空連続体の謎を解き明かし、時の操り手の悪意ある計画を阻止するという刺激的な任務に挑みました。一連の手順を通じて、あなたは Hadoop 環境をセットアップし、Hive データベースとテーブルを作成し、時系列データの断片を読み込み、データを分析および解釈するための HiveQL クエリを書く技術を身につけました。

この実験を成功裏に完了することで、効率的なデータの格納、検索、分析を可能にする強力なデータウェアハウジングソリューションである Hadoop Hive を使った貴重な経験を得ることができました。データベースとテーブルを作成する方法、Hive テーブルにデータを読み込む方法、および SELECTGROUP BYORDER BY などのさまざまな HiveQL コマンドを使ってデータを照会する方法を学びました。

Hadoop Hive におけるあなたの新たに身につけた技術は、時空連続体の謎を解き明かし、最終的に時の操り手の陰険な計画を阻止するために役立ちます。あなたの成果におめでとうございます。時系列のチャレンジの迷宮を通るあなたの旅が、さらに大きな成功を収めることができますように!