4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

データレイクハウス入門:Hadoop/Hive→オープンテーブルフォーマット

4
Last updated at Posted at 2026-02-23

はじめに

データレイクは、構造化データと非構造化データをまとめて収容でき、低コストかつオープンフォーマットで柔軟に扱える点が魅力です。
一方で、「分析を回す」「更新を安全に行う」「性能や一貫性を担保する」といった観点では、レイク単体では不完全な部分が見えてきます。

本記事では、Hadoop時代からの流れを整理しつつ、データレイクの利点・欠点、そしてデータウェアハウスとの統合として データレイクハウス(オープンな)データレイクテーブルフォーマット に至ったのかをまとめます。

この記事で分かること

  • Hadoop/HDFS → Hive → Hiveテーブルフォーマットという流れが、なぜ生まれたのか

  • クラウド移行後に「データレイクで分析する」ときに出てくる2つの方法と、それぞれの課題

  • その課題を踏まえて、データレイクハウスとオープンテーブルフォーマット(データレイクテーブルフォーマット)がどう位置づけられるか

全体の流れ

  • Hadoop/HDFSで「大量データを安価に保存・処理」できるようになった
  • ただし分析には課題があり、MapReduce→Hive(SQL)→Hiveテーブルフォーマットが定着
  • クラウド移行でオブジェクトストレージが主流になると、Hiveの前提が合わない部分が表面化
  • データレイクで分析する方法は大きく2つあるが、それぞれ欠点がある
  • DWHの“使いやすさ・性能”と、レイクの“低コスト・柔軟性”を統合したい欲求からレイクハウスが誕生
  • レイクハウスでは、DWHのような機能(ACID、性能、一貫性)をレイク上で成立させるために データレイクテーブルフォーマット を導入する

1. 簡単な歴史:Hadoop → Hive → Hiveテーブルフォーマット

Hadoop/HDFSで「安く大量に保存・処理」できた

もともと、Hadoop(分散コンピューティング)とHDFS(ファイルシステム)を使い、安価なコンピュータークラスター全体にわたって大量の構造化/非構造化データを保存・処理していました。
ただし「保存するだけでは不十分」で、分析も実行したいという需要が出てきます。

しかし分析はMapReduce(Java)で書くのが重い

Hadoopエコシステムには、Javaで分析ジョブを書いて実行するMapReduceが含まれていました。
ただ、MapReduceジョブは冗長で複雑であり、多くのアナリストはJavaよりもSQLを書くほうが得意でした。

そこで、SQL文をMapReduceジョブに変換するために Hive が作成されます。

SQLのために必要だった「テーブルの目印」=Hiveテーブルフォーマット

SQLを書くには「ストレージ内のどのファイルが、どのテーブルの一部か」を区別する手段が必要になります。
こうして、ディレクトリとその中のファイルをテーブルとして認識する Hiveテーブルフォーマット が誕生しました。

image.png

2. クラウド移行で表面化した摩擦

時間が経つにつれて、人々はHadoopクラスターの使用から、管理が容易でコストも安い クラウドオブジェクトストレージ(Amazon S3、MinIO、Azure Blob Storageなど) に移行しました。
MapReduceも、Apache Spark、Presto、Dremioなどの分散クエリエンジンに取って代わられます。

一方で Hiveテーブルフォーマットは存続 し、ストレージ内のファイルを単一のテーブルとして認識して分析を実行する標準となりました。

ただ、Hive形式(Hive Metastore+「パーティション=ディレクトリ階層」でテーブルを表す慣習)は、運用上どうしても ディレクトリ列挙(list) や rename によるコミット、大量のファイル・パーティションの取り回しといった “ファイルシステム的な操作” が増えがちです。

しかしオブジェクトストレージはファイルシステムではないため、これらの操作が API呼び出し(ネットワーク)回数・レイテンシ・コストとして効きやすく、さらに スナップショットや同時書き込み制御といった“テーブル運用に必要なメタデータ管理”もHive形式だけでは弱い、という課題が表面化しました。

image.png

3. データレイクの考え方:エンジンは万能ではなく、トレードオフがある

データレイクとデータウェアハウスを区別する特徴の1つは、多様なワークロードに対して 異なるクエリエンジンを活用できる能力です。
しかし、すべてのワークロードに最適で、ストレージとは独立して計算をスケールできる 万能のクエリエンジンは存在しません。

つまりデータレイクの世界では、
どのエンジンで、どのワークロードを捌くか」には必ずトレードオフがあり、優先するもの(性能・柔軟性・コストなど)によって得意不得意が分かれます。

4. もう一つの前提:データレイクには「ストレージエンジン機能」がない

上記の「万能エンジン」はないという前提に加えて、データレイクにおいては、ストレージエンジンの機能を担うサービスは存在しないことに注意が必要です。
一般的には、クエリエンジンがデータの書き込み方法を決め、その後はテーブル全体やパーティションが再書き込みされない限り、データが修正されたり最適化されることはありません。

この2つ(万能エンジンがない/ストレージエンジン機能がない)の注意点を踏まえると、
データレイクは「何でも置ける」一方で、分析・更新・最適化を安定して回す観点では 不完全な部分が残ります。

5. データレイクに取り込んだ後、分析は一般に2つの方法に分かれる

さらに、データレイクは構造化データと非構造化データをすべて収容するための優れた場所を提供する一方、依然として不完全な部分がありました。

ETLでデータをデータレイクに取り込んだ後、分析を実行する際には一般的に次の2つの方法のいずれかを取ります。

方法1:DWHへコピーして分析する(性能・使いやすさを優先)

データウェアハウスのパフォーマンスと柔軟性を得るために、優先度の高い分析用データのサブセットをコピーし、データウェアハウスに保存する追加のETLパイプラインを設定します。

ただし問題もあります。

  • 追加ETLの計算コストがかかる
  • 通常はストレージコストがより高額なDWHに、すでにデータを持っているにもかかわらず、そのデータのコピーを保持するコストがかかる
  • データマート生成やBI抽出コピーが増えると、コピーが蜘蛛の巣のように絡まり、ガバナンス・追跡・同期が困難になる

image.png

方法2:データレイク上で直接クエリする(低コスト・柔軟性を優先)

Dremio、Presto、Apache Spark、Trino、Apache Impalaなどのクエリエンジンを使用して、データレイク上でクエリを実行します。

これらのエンジンは一般的に 読み取り専用のワークロードに適している一方、Hiveテーブルフォーマットの制約により、データレイクからデータを安全に更新しようとすると複雑な問題が生じます。

image.png

6.だから「利点を統合したい」:データレイクハウスへ

ここまでを整理すると、データレイクは低コストで、オープンフォーマットによる柔軟性があり、非構造化データを利用できる一方で、実運用で分析を回す観点では、

  • DWHコピーはコストとコピー増殖(ガバナンス・追跡・同期の難しさ)が問題になりやすい
  • レイク直クエリは読み取り向きで、Hiveテーブルフォーマットの制約のもとでは安全な更新が難しくなり得る

という形で、不十分な点もあります。

そこでデータウェアハウスとデータレイクの利点を統合し欠点を最小限に抑える新しいアーキテクチャが必要になりました。それが「データレイクハウス」です。

image.png

7. データレイクハウス:レイクに置いたまま、DWHのような機能を成立させる

データレイクハウスのアーキテクチャは、データレイクから ストレージと計算を分離しつつ、データウェアハウスのような機能(ACIDトランザクション、より良いパフォーマンス、一貫性など)を可能にする仕組みを導入します。

この機能を実現するのが、Hiveテーブルフォーマットの以前の問題をすべて解消する データレイクテーブルフォーマットです。

このテーブルフォーマットでは、

  • テーブルフォーマットのデータは データレイクのデータと同じ場所に保存される
  • データレイクに対して使うのと 同じクエリエンジンを使うことができる
  • 実データは、データレイクに保存していたときと 同じフォーマットで保存される

つまり、データをレイクに置いたまま、DWHのような性質(ACID・性能・一貫性)を成立させるための土台が、オープンテーブルフォーマットとして整備されていく、という流れです。

image.png

おわりに

Hadoop/HDFSから始まり、SQLで分析するためにHiveとHiveテーブルフォーマットが生まれ、クラウド移行で摩擦も見えてきました。
そして、分析のやり方が2択に分かれ、それぞれが欠点を抱える中で、両者の利点を統合する発想としてデータレイクハウスが登場します。
その中核にあるのが、Hiveテーブルフォーマットの課題を解消する (オープンな)データレイクテーブルフォーマット、という位置づけです。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?