すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:Impala と Kudu の統合

最終更新日:Jan 11, 2025

Impala と Kudu を統合すると、Impala を使用して Kudu のデータテーブルにアクセスできます。このトピックでは、Impala と Kudu を統合する方法について説明します。

前提条件

E-MapReduce(EMR)クラスターが作成され、クラスターの作成時にオプションサービスから Impala と Kudu が選択されています。詳細については、「クラスターの作成」をご参照ください。

手順

EMR コンソールを使用する

  1. Impala サービスページの [構成] タブで、構成項目を追加します。詳細については、「構成項目の管理」をご参照ください。

    1. Impala サービスページの [構成] タブで、[impalad.flgs] をクリックします。

    2. [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]

    3. [catalogd.flgs] タブをクリックします。[catalogd.flgs] タブで、[構成項目の追加] をクリックして、名前が [kudu_master_hosts]、値が [master-1-1:7051] の構成項目を追加します。

  2. オプション。 クラスターにログオンして、Impala が Kudu と統合されているかどうかを確認します。

    1. Impala に接続します。詳細については、「Impala シェルツールの使用」をご参照ください。

    2. 次のコマンドを実行して、テーブルを作成します。

      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 を使用する

  1. Impala に接続します。詳細については、「Impala シェルツールの使用」をご参照ください。

  2. 次のコマンドを実行して、テーブルを作成します。

    コード内の 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 と統合されていることを示します。

  3. オプション。次のコマンドを実行して、テーブルにデータを挿入します。

    insert into my_first_table values(1,"ss");
  4. オプション。次のコマンドを実行して、テーブル内のデータをクエリします。

    select * from my_first_table;

    次の出力が返されます。

    +----+------+
    | id | name |
    +----+------+
    | 1  | ss   |
    +----+------+
    説明

    テーブルを削除する場合は、drop table my_first_table; コマンドを実行します。