歴史的データの調和の探求

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

はじめに

活気に満ちた文化と豊かな歴史で知られる中世の都市で、アラリックという流浪の吟遊詩人は、その土地の物語や歌に魅了されました。彼が街を歩きながらルートを弾きながら、彼は都市の公文書館が整理が必要であることに気づきました。無数の羊皮紙や巻物が散らばっており、過去の物語や記録が満載でしたが、それらを整理し管理する作業は脅威的に見えました。

アラリックの目標は、都市の歴史的記録を保存し、簡単にアクセスできる調和のとれたシステムを作成することでした。彼の物語りへの愛と整理に対する鋭い目を持ち、彼は Hadoop Hive の力を利用する探求に出ました。これは、彼に膨大なデータを効率的に管理し操作することを可能にするツールです。

都市の公文書館を探索する

このステップでは、無数の羊皮紙や巻物が散らばって整理待ちの都市の公文書館に立ち入ります。私たちの目標は、既存のデータに慣れ親しみ、このような膨大なコレクションを管理する際に直面する課題を理解することです。

まず、ターミナルで次のコマンドを実行して、hadoop ユーザーとしてログインしてください。

su - hadoop

ここでは、都市の過去のさまざまな記録や物語が含まれるファイルのコレクションがあります。利用可能なデータの概要を取得するには、次のコマンドを実行します。

hdfs dfs -ls /home/hadoop/archives

このコマンドは、Hadoop 分散ファイルシステム (HDFS) の /home/hadoop/archives ディレクトリ内のファイルとディレクトリを一覧表示します。

次に、1 つのファイルの内容を探索しましょう。ファイルの内容を表示するには、hdfs dfs -cat コマンドを使用します。

hdfs dfs -cat /home/hadoop/archives/chronicles/chapter_1.txt

このコマンドは、chronicles サブディレクトリにある chapter_1.txt ファイルの内容を表示します。

ファイルを閲覧すると、不要または古い情報が含まれていることに気付きます。これらを削除または短縮する必要があります。ここで Hadoop Hive の力が発揮され、データを効率的に管理および操作できるようになります。

Hive のセットアップとデータの探索

このステップでは、Hadoop の上に構築された強力なデータウェアハウスシステムである Hive をセットアップし、公文書館内の既存のデータを探索します。

まず、Hive CLI を開きます。

hive

Hive CLI に入ったら、都市の公文書館を保存する新しいデータベースを作成できます。

CREATE DATABASE city_archives;

次に、新しく作成したデータベースに切り替えます。

USE city_archives;

既存のデータを探索するには、新しいテーブルを作成し、HDFS の公文書館ディレクトリからデータを読み込みます。

CREATE EXTERNAL TABLE tmp_chronicles (
  chapter STRING,
  content STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LOCATION '/home/hadoop/archives/chronicles';

このコードは、2 つの列 chaptercontent を持つ外部テーブル tmp_chronicles を作成します。テーブルのデータは HDFS の /home/hadoop/archives/chronicles ディレクトリから読み込まれ、フィールドはタブ文字で区切られます。

CREATE TABLE chronicles (
  chapter STRING,
  content STRING
)
STORED AS ORC
TBLPROPERTIES ('transactional'='true');

このコードは、2 つの列 chaptercontent を持つテーブル chronicles を作成します。STORED AS ORC 句は、データが ORC ファイル形式で保存されることを指定します。TBLPROPERTIES 句は、テーブルがトランザクショナルであること、つまり ACID トランザクションをサポートすることを指定します。

INSERT INTO TABLE chronicles SELECT * FROM tmp_chronicles;

このコードは、一時テーブル tmp_chronicles のすべてのデータを chronicles テーブルに挿入します。

今、chronicles テーブルを照会してその内容を確認できます。

SELECT * FROM chronicles LIMIT 5;

このコマンドは、chronicles テーブルの最初の 5 行を表示し、取り扱うデータの一端を見せてくれます。

データの削除とトランケート

このステップでは、Hive テーブルからデータを削除およびトランケートする方法を学び、都市の公文書館を効率的に管理および維持することができます。

時々、テーブルから古いまたは関係のないデータを削除する必要がある場合があります。Hive では、DELETE ステートメントを使用して、指定された条件に一致する特定の行を削除することができます。

たとえば、chronicles テーブルから「古い」という言葉が含まれるすべての章を削除したいとしましょう。

DELETE FROM chronicles WHERE content LIKE '%outdated%';

このコマンドは、content 列に「古い」という言葉が含まれる chronicles テーブルのすべての行を削除します。

ただし、テーブルからすべてのデータを削除する場合は、個々の行を削除する代わりに TRUNCATE ステートメントを使用できます。この操作は、1 行ずつ行を削除するよりも効率的で高速です。

TRUNCATE TABLE chronicles;

このコマンドは、chronicles テーブルからすべてのデータを削除し、空にします。

これらの削除とトランケートの技術を習得することで、都市の公文書館の整合性と関連性を維持し、最も価値のある最新情報のみが保存されるようにすることができます。

まとめ

この実験では、Hadoop Hive を使って都市の公文書館を整理し維持する旅に出ました。流浪の吟遊詩人であるアラリックの目を通して、膨大な歴史記録のコレクションを管理する課題を探索し、Hive の力を利用して効率的にデータを削除およびトランケートする方法を学びました。

公文書館ディレクトリを掘り下げ、Hive をセットアップすることで、データベース、テーブルを作成し、Hive にデータを読み込む実践的な経験を得ました。そして、特定の行を削除し、テーブル全体をトランケートする技術を習得し、都市の公文書館から古いまたは関係のない情報を削除することができるようになりました。

この実験を通じて、私たちはデータ管理の実践的なスキルだけでなく、物語りと技術を組み合わせる美しさを発見しました。アラリックが都市の豊かな文化遺産を保存する探求は、データが単なる数字や統計ではなく、紡がれ共有されるべき物語の織り物であることを思い起こさせます。