Kudu を使用する

Prev Next

VPC環境で利用できます。

Kuduとは、ハドゥーププラットフォーム環境で使用するカラムベースのストレージです。Kuduはハドゥープのエコシステムに合わせて特殊設計され Spark、MapReduceと他の Hadoopエコプロェクトで独自にデータを処理して分析できるようにします。一般 DBMSのように Primary keyを提供してミリ秒(ms)水準のランダムアクセスができ、同時に大規模の順次読み取りに最適化されているので、HBaseと Parquetのギャップを埋められます。また、OLAP向けのクエリと OLTP向けのクエリをすべてサポートするために Kuduを使用してビックデータ分析システムの構図をより簡単にできます。

Kudu–Impala Integrationの特徴

Kuduが提供する APIはシンプルな CRUD演算です。データを照会する時に自由にフィルタ条件を入力できるが、簡単なデータ照会機能のみ提供しているために GROUP BYや JOINなどを使用する複雑なクエリを実行するには別途のクエリ処理エンジンが必要です。この場合、一般的に Impalaを kuduと共に使用して複雑なクエリを処理できます。

  • CREATE・ALTER・DROP TABLE: Impalaは Kuduでテーブル作成、変更、削除オペレーションをサポートします。テーブルは Impalaで他のテーブルと同じ Internal・Externalアクセス方式に従うために、柔軟なデータ処理とクエリが可能です。
  • INSERT: Impalaは HDFSと HBaseと同じメカニズムを用いて Kuduにデータ Insertタスクを行います。
  • UPDATE・DELETE: Impalaは Kuduテーブルに保存されたデータに対して Row単位またはバッチ方式の UPDATEと DELETE SQLコマンドをサポートし、他にもクエリの FROM節に複雑な結合節を指定して使用できます。
  • Flexible Partitioning: Hiveのテーブルパーティション概念と同様にクラスタ全域で均等な書き込みとクエリタスクを分散するように Kuduはテーブルをハッシュや範囲ベースに事前に定義されたタブレット数だけ動的に分割します。
  • Parallel Scan: 汎用ハードウェアで最適なパフォーマンスを達成するために、Impalaで使用した Kuduクライアントは多重タブレットでスキャンを並列処理します。

Kuduアーキテクチャ

Kuduサービスを構成するコンポーネントには Table、Tablet、Tablet Server、Master Serverの4種類があります。

  • Table
    Tableは Kuduデータを保存する場所として、スキーマと Primary Keyを保有しています。1つの Tableは Primary Keyによって Tabletというセグメントに分割して保存します。

  • Tablet
    Tabletは 関係型データベースのパーティションと類似の単一テーブルの分割です。1つの Tabletは多重 Tablet Serverにコピーされ、その中の1つが Raft Consensus Algorithmを介して Leader Tabletに選ばれます。すべてのコピーからデータ Readサービスを提供でき、Writeタスクは Tablet Serverグループ間のコンセンサスを通じて実行されます。

  • Tablet Server
    Tablet Serverは Tabletを保存してクライアントに Tabletを提供するロールを割り当てられます。コピーの中から特定 Tabletは Leaderのロールを、他は Followerロールを割り当てられます。

  • Master Server
    マスターサーバはすべての Tablet、Tablet Server、Catalog Tableとクラスタに関する他のメタデータ情報を追跡して管理します。特定時点では単一マスターが Leaderロールを割り当てられ、現在 Leaderに問題が発生した場合に Raft Consensusアルゴリズムを用いて新規マスターを登録します。マスターはクライアントに対するメタデータオペレーションを調整するロールも割り当てられます。クライアントは Client APIを使用し、マスターを通してカタログテーブルにアクセスできます。

chadoop-31-001.jpg

Kuduを使用する

Kuduを使用する方法を説明します。

クラスタ作成

NAVERクラウドプラットフォームコンソールで Cloud Hadoopクラスタを作成します。クラスタ作成に関する詳細は、クラスタ作成をご参照ください。

参考

Cloud Hadoop 1.9から Kudu v1.16.0がインストールされたクラスタを使用できます。
chadoop-30-002_ja.jpg

Ambari UIで Kuduサービス確認

Ambari UIで次のように Kuduサービスを確認できます。このページで、サービスの各コンポーネントを開始または停止できます。

chadoop-31-002.jpg

  • Summary: コンポーネントがインストールされたホストを確認
  • Configs: Kuduサービスの configurationを変更
  • Quick Links: Kudu Master WEB-UI, Kudu Tserver WEB-UI
    • このリンクを介してアクセスするには、トンネリングが必要です。コンソールで提供する Web UIリンクを用いたアクセスを推奨します。詳細は、Kudu WEB UIにアクセスをご参照ください。

Kudu WEB UIにアクセス

Cloud Hadoopコンソールで [Application別に見る] で Kudu WEB UIにアクセスできます。詳細は、Application別に見るをご参照ください。
chadoop-31-003_ja.png

Kudu WEB UIページで Kuduサービス全体の状態を確認できます。
chadoop-31-004.jpg