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;
刪除表。