All Products
Search
Document Center

E-MapReduce:Integrate Impala with Kudu

Last Updated:Aug 20, 2026

Integrating Impala with Kudu allows you to access data tables in Kudu. This topic describes how to integrate Impala with Kudu.

Prerequisites

You have created a cluster and selected the Impala and Kudu services. For more information, see Create a cluster.

Procedure

Console

  1. On the Impala service's Configure page, add the following configuration items. For more information, see Manage configuration items.

    1. On the Impala service's Configure page, click the impalad.flgs tab.

    2. On the impalad.flgs tab, click Add Configuration Item. Add a parameter named kudu_master_hosts with a value of master-1-1:7051.

      Note

      kudu_master_hosts specifies the master nodes and port numbers of the Kudu cluster that Impala connects to. If there are multiple master nodes, you can separate them with a comma (,). For example, master-1-1:7051,master-1-2:7051,master-1-3:7051.

    3. On the catalogd.flgs tab, click Add Configuration Item. Add a parameter named kudu_master_hosts with a value of master-1-1:7051.

  2. Optional: Log in to the cluster to verify the integration.

    1. Connect to Impala. For more information, see Impala shell tool.

    2. Run the following command to create a table:

      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');

      The message Table has been created. indicates that the table was created successfully.

CLI

  1. Connect to Impala. For more information, see Impala shell tool.

  2. Run the following command to create a table.

    Use the kudu.master_addresses property to specify the Kudu cluster, as shown in the following example:

    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');
    Note

    Parameter descriptions:

    • my_first_table: The name of the table. You can specify a custom name.

    • kudu.master_addresses: Specifies the master nodes. If the cluster has multiple master nodes, separate their addresses with commas (,). For example, master-1-1:7051,master-1-2:7051,master-1-3:7051. For a Hadoop cluster, set the value to emr-header-1.

    The message Table has been created. indicates that the table was created successfully.

  3. Optional: Run the following command to insert data into the table:

    insert into my_first_table values(1,"ss");
  4. Optional: Run the following command to query data from the table:

    select * from my_first_table;

    The command returns the following output:

    +----+------+
    | id | name |
    +----+------+
    | 1  | ss   |
    +----+------+
    Note

    To drop the table, run drop table my_first_table;.