Impala と Kudu を統合すると、Impala を使用して Kudu のデータテーブルにアクセスできます。このトピックでは、Impala と Kudu を統合する方法について説明します。
前提条件
E-MapReduce(EMR)クラスターが作成され、クラスターの作成時にオプションサービスから Impala と Kudu が選択されています。詳細については、「クラスターの作成」をご参照ください。
手順
EMR コンソールを使用する
Impala サービスページの [構成] タブで、構成項目を追加します。詳細については、「構成項目の管理」をご参照ください。
Impala サービスページの [構成] タブで、[impalad.flgs] をクリックします。
[impalad.flgs] タブで、[構成項目の追加] をクリックして、名前が [kudu_master_hosts]、値が [master-1-1:7051] の構成項目を追加します。
説明[kudu_master_hosts] は、Impala に接続されている Kudu クラスターのマスターノードの名前とポート番号を指定します。Kudu クラスターに複数のマスターノードが含まれている場合は、マスターノードの名前とポート番号をカンマ(,)で区切ります。例:[master-1-1:7051,master-1-2:7051,master-1-3:7051]。
[catalogd.flgs] タブをクリックします。[catalogd.flgs] タブで、[構成項目の追加] をクリックして、名前が [kudu_master_hosts]、値が [master-1-1:7051] の構成項目を追加します。
オプション。 クラスターにログオンして、Impala が Kudu と統合されているかどうかを確認します。
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.が含まれている場合、テーブルは作成されています。これは、Impala が Kudu と統合されていることを示します。
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 クラスターの場合は、master-1-1 をemr-header-1に変更します。
出力に
Table has been created.が含まれている場合、テーブルは作成されています。これは、Impala が Kudu と統合されていることを示します。オプション。次のコマンドを実行して、テーブルにデータを挿入します。
insert into my_first_table values(1,"ss");オプション。次のコマンドを実行して、テーブル内のデータをクエリします。
select * from my_first_table;次の出力が返されます。
+----+------+ | id | name | +----+------+ | 1 | ss | +----+------+説明テーブルを削除する場合は、
drop table my_first_table;コマンドを実行します。