概要
Apache ImpalaとApache Kuduは、ストリーミングデータに対するリアルタイム分析や時系列データ、リアルタイム・データウェアハウスのユースケースに最適な組み合わせです。
過去10年間で200社以上のCloudera顧客が、取り込みにApache Spark、リアルタイムBIにApache Impalaを組み合わせてApache Kuduを導入し、数千ノード規模で稼働させています。
ユースケースは、通信(4G/5G)分析、石油・ガス業界のリアルタイムレポートとアラート、製薬企業のサプライチェーン、銀行の基幹システムや株式取引分析など多岐にわたります。
Kuduの強みは、高速性を支えるC++製カラムナー・ストレージエンジンにあります。データは取り込み後わずか数秒でクエリ可能になり、一貫性とアトミック性を確保しつつ更新・削除のトランザクションもサポートします。Impala は分散型C++製SQLエンジンで、Kuduと連携して数百万行規模のクエリに対しサブ秒レベルのSLAを実現します。
Cloudera は、Real Time DataMart クラスター上でApache Kuduを、Kubernetes 上の Cloudera Data Warehouse(CDW)で Apache Impala を提供しています。スケーラブルなImpala(CDW)とKudu(DataHub クラスター)を組み合わせることで、計算(Impala)とストレージ(Kudu)を分離し、それぞれを独立してスケールさせることが可能になります。複数の CDW 仮想クラスターを、用途ごとに異なるリアルタイムDataMartクラスター/Kuduクラスターへ接続する高度なシナリオも実現できます。
構成手順
前提条件
- バージョン7.2.15以降のKudu DataHub クラスターを作成
- CDW 環境を 1.6.1-b258以降(ランタイム 2023.0.13.20)へアップグレード
- CDWでImpala仮想ウェアハウス(VW)を作成
Step 1: Kuduマスターノードの情報を取得
-
1: CDP にログインし Data Hub Clusters へ移動。CDW からクエリしたい Kudu Real Time Data Mart クラスターを選択
-
2: クラスター詳細の Nodes タブを開き、3 台の Kudu マスターノード名を控える
例:
go01-datamart-master20.go01-dem.ylcu-atmi.cloudera.site
go01-datamart-master30.go01-dem.ylcu-atmi.cloudera.site
go01-datamart-master10.go01-dem.ylcu-atmi.cloudera.site
Step 2: CDW Impala仮想ウェアハウスの設定
- 1: CDW で対象の Impala VW を開き Edit → 設定画面へ。Impala VW バージョンが 2023.0.13-20 以上であることを確認
- 2: Impala coordinator のフラグファイル設定を編集
- 3: kudu_master_hosts を検索し、以下のように 3 台のマスターをカンマ区切りで指定(ポート 7051 を付与)
go01-datamart-master20.go01-dem.ylcu-atmi.cloudera.site:7051,go01-datamart-master30.go01-dem.ylcu-atmi.cloudera.site:7051,go01-datamart-master10.go01-dem.ylcu-atmi.cloudera.site
Step 3: Kudu テーブルのクエリ実行
VW の更新が完了したら、Hue、Impala Shell、ODBC/JDBC クライアントから Kudu テーブルをクエリできるようになります。
まとめ
CDW と Kudu DataHub を統合することで、オンデマンドに計算リソースをスケールアップし、DataHub 側は Kudu のみを実行する構成が可能になります。Impala VW から Kudu をクエリする利点は、ノイジーネイバーからの分離、オートスケーリング、自動停止などです。
さらに Cloudera Data Engineering を使って Kudu へデータを取り込むことで、DataHub クラスターをストレージ専用にすることも可能です。高度なユーザーは、TBLPROPERTIES で Kudu クラスタ情報を指定し、任意の Kudu DataHub クラスタを対象にクエリできます。
この統合により、以下の最新 CDW 機能も利用可能です。
- CDW Impala の JWT 認証
- オブジェクトストアと Kudu テーブルを単一の Impala サービスで利用(BI ツール側の設定が簡素化)
- Kudu(DataHub)の容量不足時のみスケールアップ/アウト可能。将来的にはリアルタイム DM テンプレートでの Impala を停止し、CDW Impala で Kudu をクエリする構成も選択できます