Impala と Kudu を統合することで、Kudu のデータテーブルにアクセスできます。本トピックでは、Impala と Kudu を統合する方法について説明します。
前提条件
クラスターを作成し、Impala サービスと Kudu サービスを選択している必要があります。詳細については、「クラスターの作成」をご参照ください。
手順
コンソール
-
Impala サービスの Configure ページに、以下の設定項目を追加します。詳細については、「設定項目を管理する」をご参照ください。
-
Impala サービスの Configure ページで、[impalad.flgs] タブをクリックします。
-
[impalad.flgs] タブで、Add Configuration Item をクリックします。名前が [kudu_master_hosts] で、値が [master-1-1:7051] のパラメーターを追加します。
説明kudu_master_hosts は、Impala が接続する Kudu クラスターのマスターノードとポート番号を指定します。マスターノードが複数ある場合は、カンマ (,) で区切ります。たとえば、master-1-1:7051,master-1-2:7051,master-1-3:7051 です。
-
[catalogd.flgs] タブで、Add Configuration Item をクリックします。パラメーター [kudu_master_hosts] を追加し、その値を master-1-1:7051 に設定します。
-
-
任意: クラスターにログインして、統合を検証します。
-
Impala に接続します。詳細については、「Impala シェルツール」をご参照ください。
-
次のコマンドを実行してテーブルを作成します:
create table my_first_table ( id bigint, name string, primary key(id) ) partition by hash partitions 16 stored as kudu tblproperties( 'kudu.num_tablet_replicas' = '1');メッセージ
Table has been created.が表示されると、テーブルが正常に作成されたことを意味します。
-
CLI
-
Impala に接続します。詳細については、「Impala シェルツール」をご参照ください。
-
次のコマンドを実行してテーブルを作成します。
次の例に示すように、
kudu.master_addressesプロパティを使用して Kudu クラスターを指定します:create table my_first_table ( id bigint, name string, primary key(id) ) partition by hash partitions 16 stored as kudu tblproperties( 'kudu.master_addresses' = 'master-1-1:7051', 'kudu.num_tablet_replicas' = '1');説明パラメーターの説明:
-
my_first_table:テーブルの名前。カスタム名を指定できます。 -
kudu.master_addresses:マスターノードを指定します。クラスターに複数のマスターノードがある場合は、アドレスをコンマ (,) で区切ります。例:master-1-1:7051,master-1-2:7051,master-1-3:7051。Hadoop クラスターの場合、値をemr-header-1に設定します。
メッセージ
Table has been created.が表示されると、テーブルが正常に作成されたことを意味します。 -
-
任意: 次のコマンドを実行して、テーブルにデータを挿入します:
insert into my_first_table values(1,"ss"); -
任意: 次のコマンドを実行して、テーブルからデータをクエリします:
select * from my_first_table;このコマンドは、次の出力を返します:
+----+------+ | id | name | +----+------+ | 1 | ss | +----+------+説明テーブルを削除するには、
drop table my_first_table;を実行します。