このプロジェクトについて

Apache Hudi(Hadoop Upserts Deletes and Incrementals)は、高性能なオープンテーブルフォーマットを中心に構築されたオープンソースのデータレイクハウスプラットフォームです。複数のクラウドデータ環境にわたってデータの取り込み、インデックス作成、保存、提供、変換、管理を可能にし、クラウドストレージ上でオープンフォーマットのデータを維持します。 主な機能は以下のとおりです。 **取り込み**: Apache SparkおよびApache Flinkユーザー向けの組み込みツールで、6種類のファイルフォーマット、データベース変更ログ、ストリーミングデータシステムをサポートします。外部データソースを取り込むためのKafka Connectシンクも含まれます。 **保存**: 行形式と列形式の両方をサポートする最適化されたストレージフォーマット。変更履歴を追跡するタイムラインメタデータ、統計情報を使用した自動ファイルサイズ・レイアウト管理、データのバージョニングとリカバリのためのセーブポイント、進化を伴うスキーマ追跡を備えています。 **インデックス作成**: スナップショットクエリを高速化するスケーラブルなインデックスサブシステムで、書き込みによって自動的に維持されます。効率的なクエリプランニングのためにファイル一覧、列レベルおよびパーティションレベルの統計情報を追跡します。行指向ファイルフォーマットとブルームフィルタによるレコードレベルのインデックス作成、物理ストレージのパーティショニングから分離された式インデックスによる論理パーティショニングを提供します。 **書き込み**: ロールバック/リストアをサポートするアトミックコミット。レコードレベルインデックスを活用した高速なアップサート/削除。書き込み側とクエリ側の間のスナップショット分離。楽観的同時実行制御(リレーショナルデータモデル向けのRead-Modify-Write)と非ブロッキング同時実行制御(順序が乱れたデータや遅延データを処理するストリーミングデータモデル)の両方を提供します。 **クエリ**: 単一テーブルに対する複数のクエリタイプ:スナップショットクエリ(最新のコミット済み状態)、増分クエリ(ある時点以降の変更)、変更データキャプチャクエリ(ビフォア/アフターイメージ付きの変更ストリーム)、タイムトラベルクエリ(指定時点のテーブル)、読み取り最適化クエリ(コンパクションによる列形式ストレージのパフォーマンス)。 **テーブル管理**: Spark/Flinkライターに統合されるか、独立して運用される自動のハンズフリーテーブルサービス。障害処理を伴う設定可能なスケジューリング。ストレージ再利用のためのクリーニングとTTL管理。データレイアウト最適化のためのクラスタリングと空間充填曲線アルゴリズム。行指向データの列形式への非同期コンパクション。進行中の操作中における一貫したインデックス構築。Hive Metastore、AWS Glue、Google BigQuery、Apache XTableなどとのカタログ同期。 Hudiは複数のSparkバージョン(3.3から4.2)およびFlinkバージョン(1.18から2.2)でのビルドをサポートし、Scala 2.12/2.13のオプションがあります。プロジェクトはビルドにMavenを使用し、包括的なテストプロファイル(ユニット、機能、統合)を提供します。