Impala集成Kudu后,您可以使用Impala访问Kudu的数据表。本文为您介绍Impala如何集成Kudu。
前提条件
已创建集群,并且选择了Impala和Kudu服务,详情请参见创建集群。
操作步骤
控制台方式
在Impala服务的配置页面,新增以下配置项,具体操作请参见管理配置项。
在Impala服务的配置页面,单击impalad.flgs页签。
在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。
在catalogd.flgs页签,单击新增配置项,新增参数名为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.
提示信息时,表示成功创建表。
命令行方式
连接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节点,如果集群有多个Master节点,则多个Master之间使用英文逗号(,)隔开。例如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;
删除表。