LIMIT を使ったレベル軍のデータ潜入

HadoopHadoopBeginner
今すぐ練習

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

はじめに

遥かな銀河系では、銀河帝国とレベル軍同盟の間で何世紀にもわたって宇宙戦争が繰り広げられています。著名な宇宙探検家として、あなたはレベル軍同盟によって雇われ、帝国の最新の兵器開発に関する重要な情報を収集することになりました。あなたの任務は、帝国の秘密データ保管庫に潜入し、強力な Hadoop エコシステムを使ってその記録を分析することです。

銀河帝国は、惑星征服から膨大な量のデータを収集しており、その中には資源、人口、軍事作戦に関する情報も含まれています。これらのデータは、帝国が厳重に守る Hadoop クラスタに保存されており、あなたが帝国の計画と潜在的な弱点を明らかにするためにアクセスしなければなりません。

あなたの目的は、Hadoop エコシステム内のデータウェアハウスツールである Hive を使って、帝国のデータを分析し、抑圧的な政権に対するレベル軍同盟の戦いに役立つパターンを特定することです。具体的には、Hive のLIMIT句を使って、膨大なデータセットから効率的に関連情報を分析して抽出する方法を学びます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHDFSGroup(["Hadoop HDFS"]) hadoop(("Hadoop")) -.-> hadoop/HadoopHiveGroup(["Hadoop Hive"]) hadoop/HadoopHDFSGroup -.-> hadoop/hdfs_setup("HDFS Setup") hadoop/HadoopHDFSGroup -.-> hadoop/fs_mkdir("FS Shell mkdir") hadoop/HadoopHDFSGroup -.-> hadoop/fs_put("FS Shell copyToLocal/put") hadoop/HadoopHiveGroup -.-> hadoop/hive_shell("Hive Shell") hadoop/HadoopHiveGroup -.-> hadoop/create_tables("Creating Tables") hadoop/HadoopHiveGroup -.-> hadoop/limit("limit Usage") hadoop/HadoopHiveGroup -.-> hadoop/group_by("group by Usage") subgraph Lab Skills hadoop/hdfs_setup -.-> lab-288983{{"LIMIT を使ったレベル軍のデータ潜入"}} hadoop/fs_mkdir -.-> lab-288983{{"LIMIT を使ったレベル軍のデータ潜入"}} hadoop/fs_put -.-> lab-288983{{"LIMIT を使ったレベル軍のデータ潜入"}} hadoop/hive_shell -.-> lab-288983{{"LIMIT を使ったレベル軍のデータ潜入"}} hadoop/create_tables -.-> lab-288983{{"LIMIT を使ったレベル軍のデータ潜入"}} hadoop/limit -.-> lab-288983{{"LIMIT を使ったレベル軍のデータ潜入"}} hadoop/group_by -.-> lab-288983{{"LIMIT を使ったレベル軍のデータ潜入"}} end

帝国のデータ保管庫へのアクセス

このステップでは、帝国の Hadoop クラスタにセキュアな接続を確立し、利用可能なデータセットを探索します。

  1. セキュアなターミナルを起動し、レベル軍同盟の資格情報で認証します。
  2. su - hadoop コマンドを使用して hadoop ユーザーに切り替えます(パスワード不要)。
su - hadoop
  1. /home/hadoop ディレクトリに移動します。これがあなたのデフォルトの作業ディレクトリになります。
cd /home/hadoop
  1. ディレクトリの内容を一覧表示して、利用可能なファイルとディレクトリを確認します。
ls

empire_data というディレクトリが表示されるはずです。このディレクトリには、帝国のデータレコードが含まれており、次のステップで分析します。

  1. empire_data を hdfs に置き、hive で使用できるようにします。
hadoop fs -mkdir -p /home/hadoop
hadoop fs -put /home/hadoop/empire_data /home/hadoop

帝国の資源記録の探索

このステップでは、Hive のLIMIT句を使って帝国の資源記録を分析します。

  1. 次のコマンドを実行して Hive シェルを起動します。
hive
  1. 分析結果を保存するための新しいデータベースrebel_intelligenceを作成します。
CREATE DATABASE rebel_intelligence;
  1. rebel_intelligenceデータベースを使用します。
USE rebel_intelligence;
  1. /home/hadoop/empire_data/resourcesディレクトリに保存されている帝国の資源データを指す外部テーブルresourcesを作成します。
CREATE EXTERNAL TABLE resources (
    planet STRING,
    resource STRING,
    quantity BIGINT
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION '/home/hadoop/empire_data/resources';
  1. LIMIT句を使ってresourcesテーブルの最初の 10 レコードをプレビューします。
SELECT * FROM resources LIMIT 10;

このコマンドは、resourcesテーブルの最初の 10 行を表示し、データの構造と内容を理解するのに役立ちます。

  1. LIMIT句を使ったクエリを実行して、惑星間の資源分布を分析します。
SELECT planet, SUM(quantity) AS total_resources
FROM resources
GROUP BY planet
ORDER BY total_resources DESC
LIMIT 5;

このクエリは、合計資源が最も多い上位 5 つの惑星を表示し、帝国の資源に富んだ地域に関する貴重な洞察を提供します。

帝国の軍事作戦の分析

このステップでは、LIMIT句を使って帝国の作戦記録を照会することで、帝国の軍事作戦を調査します。

  1. /home/hadoop/empire_data/missionsディレクトリに保存されている帝国の作戦データを指す外部テーブルmissionsを作成します。
CREATE EXTERNAL TABLE missions (
    mission_id STRING,
    planet STRING,
    operation STRING,
    start_date STRING,
    end_date STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION '/home/hadoop/empire_data/missions';
  1. LIMIT句を使ってmissionsテーブルの最初の 5 レコードをプレビューします。
SELECT * FROM missions LIMIT 5;
  1. LIMIT句を使ったクエリを実行し、end_date列で並べ替えることで、最も最近の軍事作戦を分析します。
SELECT planet, operation, end_date
FROM missions
ORDER BY end_date DESC
LIMIT 10;

このクエリは、帝国が行った最も最近の 10 件の軍事作戦を表示し、その最新活動に関する貴重な情報を提供します。

  1. LIMIT句を使ったクエリを実行し、planet列でグループ化することで、軍事作戦が最も集中している惑星を特定します。
SELECT planet, COUNT(*) AS operation_count
FROM missions
GROUP BY planet
ORDER BY operation_count DESC
LIMIT 3;

このクエリは、軍事作戦の数が最も多い上位 3 つの惑星を明らかにし、レベル軍同盟にとっての潜在的な標的や戦略的な場所を示しています。

帝国の人口統制策の解明

このステップでは、LIMIT句を使って帝国の国勢調査記録を分析することで、帝国の人口統制策を解明します。

  1. /home/hadoop/empire_data/censusディレクトリに保存されている帝国の国勢調査データを指す外部テーブルcensusを作成します。
CREATE EXTERNAL TABLE census (
    planet STRING,
    species STRING,
    population BIGINT
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION '/home/hadoop/empire_data/census';
  1. LIMIT句を使ってcensusテーブルの最初の 10 レコードをプレビューします。
SELECT * FROM census LIMIT 10;
  1. LIMIT句を使ったクエリを実行し、population列を降順に並べ替えることで、人口が最も多い惑星を分析します。
SELECT planet, SUM(population) AS total_population
FROM census
GROUP BY planet
ORDER BY total_population DESC
LIMIT 5;

このクエリは、帝国で最も人口の多い上位 5 つの惑星を表示し、新しいレベル軍を募集するための潜在的な場所や、多くの市民人口がいる地域を特定する手がかりを提供します。

  1. LIMIT句を使ったクエリを実行し、species列でグループ化することで、帝国全体で最も人口の多い種を特定します。
SELECT species, SUM(population) AS total_population
FROM census
GROUP BY species
ORDER BY total_population DESC
LIMIT 3;

このクエリは、帝国で最も人口の多い上位 3 つの種を明らかにします。これは、レベル軍同盟にとって、異なる種の多様性と潜在的な支持を理解するための貴重な情報になります。

まとめ

この実験では、Hadoop エコシステム内のデータウェアハウシングツールである Hive におけるLIMIT句をどのように使用するかを学び、銀河帝国の膨大なデータ保管庫から効率的に関連情報を分析して抽出する方法を学びました。資源記録、軍事作戦、国勢調査データを探索することで、帝国の強み、弱み、潜在的な脆弱性に関する貴重な洞察を得ました。

実践的な演習を通じて、外部テーブルの作成、LIMIT句を使ったデータ照会、特定の基準に基づく結果のフィルタリングとソートを練習しました。この実践的な経験は、Hive のスキルを強化するだけでなく、大規模なデータセットから実行可能なインテリジェンスを抽出する方法についてのより深い理解を提供しました。

銀河戦争を舞台としたこの実験の没入型のシナリオは、学習体験に魅力的でやる気を引き出すコンテキストを加えました。レベル軍同盟の宇宙探査家としての役割を務めることで、帝国の秘密を明かす目的意識と緊迫感を感じ、学習プロセスをより楽しく有意義なものにしました。

全体的に、この実験はデータ分析において Hadoop と Hive の力を活用するための必要なスキルを身に付けさせ、ビッグデータの分野における将来のチャレンジに備えさせ、抑圧的な銀河帝国に対抗するレベル軍同盟の戦いに貢献させました。