全部產品
Search
文件中心

E-MapReduce:Impala整合Kudu

更新時間:Jul 01, 2024

Impala整合Kudu後,您可以使用Impala訪問Kudu的資料表。本文為您介紹Impala如何整合Kudu。

前提條件

已建立叢集,並且選擇了Impala和Kudu服務,詳情請參見建立叢集

操作步驟

控制台方式

  1. 在Impala服務的配置頁面,新增以下配置項,具體操作請參見管理配置項

    1. 在Impala服務的配置頁面,單擊impalad.flgs頁簽。

    2. impalad.flgs頁簽,單擊新增配置項,添加參數名為kudu_master_hosts,參數值為master-1-1:7051的配置項。

      說明

      kudu_master_hosts用於指定Impala串連的Kudu叢集中的Master節點和連接埠號碼。如果有多個Master節點時,可以使用英文逗號(,)隔開。例如,master-1-1:7051,master-1-2:7051,master-1-3:7051

    3. catalogd.flgs頁簽,單擊新增配置項,新增參數名為kudu_master_hosts,參數值為master-1-1:7051的配置項。

  2. 可選:您可以登入叢集查看叢集串連情況。

    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.提示資訊時,表示成功建立表。

命令列方式

  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節點,如果叢集有多個Master節點,則多個Master之間使用英文逗號(,)隔開。例如master-1-1:7051,master-1-2:7051,master-1-3:7051。如果是Hadoop叢集,則需修改為emr-header-1

    返回資訊中包含Table has been created.提示資訊時,表示成功建立表。

  3. 可選:您可以執行以下命令,向表中插入資料。

    insert into my_first_table values(1,"ss");
  4. 可選:您可以執行以下命令,查詢表資料。

    select * from my_first_table;

    返回如下提示資訊。

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

    您可以使用命令drop table my_first_table;刪除表。