Documentation Index

Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt

Use this file to discover all available pages before exploring further.

Kudu を使用する

Prev Next

VPC環境で利用できます。

Kuduとは、Hadoopプラットフォーム環境で使用するカラムベースのストレージです。Kuduは Hadoopのエコシステムに合わせて特殊設計され、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はテーブルをハッシュや範囲に基づいて予め定義された Tabletの数だけ動的に分割
Parallel Scan 汎用ハードウェアで最適なパフォーマンスを実現するため、Impalaで使用される Kuduクライアントが複数の Tabletでスキャンを並列処理

Kuduアーキテクチャ

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

コンポーネント 説明
Table
  • Kuduデータを保存する場所として、スキーマと Primary Keyを保有
  • 1つの Tableは Primary Keyによって Tabletというセグメントに分割して保存
Tablet
  • リレーショナルデータベースのパーティションに類似した、単一テーブルの分割
  • 1つの Tabletは複数の Tablet Serverにレプリケーションされ、レプリカのうち1つが Raft Consensus Algorithmを介して Leader Tabletとして選出
  • すべてのレプリカからデータ Readサービスを提供でき、Writeタスクは 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

Kudu を使用する

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

Ambari UIで Kuduサービスをインストール

Ambari UIの Add serviceから Kuduをインストールできます。インストール時に設定するオプションは次の通りです。

Advanced kudu-master-env

kudu_master_hosts = KUDU_マスター_インストール_FQDN
kudu_master_webserver_port = 8011

Advanced kudu-site

kudu_builtin_ntp_servers = 169.254.169.123,169.254.169.124 0.0.0.0

Advanced kudu-tserver-env

kudu_tserver_master_address = KUDU_タブレット_インストール_FQDN:7051
kudu_tserver_webserver_port = 8012

Custom kudu-tserver-env

kudu_tserver_hosts = KUDU_タブレット_インストール_FQDN

Ambari UIで Kuduサービス確認

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

chadoop-31-002

  • Summary: コンポーネントがインストールされたホストを確認
  • Configs: Kuduサービスの configurationを変更
  • Quick Links: Kudu Master WEB-UI, Kudu Tserver WEB-UI