Impala 是一个分布式的大型并行处理(MPP)计算引擎。利用 Impala ,可以对 Kudu 的数据做快速查询分析。详见请参见:Impala 概述。
在火山引擎 E-MapReduce(EMR)中,安装完 Impala 和 Kudu 之后,需要在 Impala 设置 Kudu Master 的地址。
说明
如果 Impala 和 Kudu 同时安装,那么,kudu_master_hosts 会自动设置,无需再手动设置。
登录 EMR 控制台。
在左侧导航栏中,选择并进入 集群列表 > 集群名称 > 服务列表 > Impala 界面。
点击进入 服务参数 页签,搜索参数:kudu_master_hosts。
设置参数的值为 Kudu Master 的地址,如下图所示:
Kudu Master 地址获取,详见:Kudu 基础操作。
参数配置完成后,点击右上角 保存 按钮,然后 服务操作中 重启 Impalad 服务。
下文为您介绍如何使用 Impala 访问 kudu ,包括创建表,写入数据,查询数据。支持多种方式连接 impala,下文主要使用 impala-shell 这个工具。
impala-shell 是一个可以直接连接 impala 的命令行工具。火山引擎 EMR 在安装 impala 时,已默认将 impala-shell 设置到系统环境变量,可以 ssh 到任意一台 impalad 机器,使用 impala-shell。
登录方式详见:SSH连接主节点。
例如:
root@emr-3432jdr2za2uxxx-core-1:~# impala-shell *********************************************************************************** Welcome to the Impala shell. (Impala Shell v3.4.1-RELEASE (eb1ed66) built on Fri Sep 16 15:03:38 CST 2022) The SET command shows the current value of all shell and query options. *********************************************************************************** [emr-3432jdr2za2uxxx-core-1:21000] default>
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');
例如:
[emr-3432jdr2za2uxx-core-1:21000] default> 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'); Query: 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') +-------------------------+ | summary | +-------------------------+ | Table has been created. | +-------------------------+ Fetched 1 row(s) in 2.36s
[emr-3432jdr2za2uxx-core-1:21000] default> insert into my_first_table values(1, 'Tom'); Query: insert into my_first_table values(1, 'Tom') Query submitted at: 2022-09-28 11:48:46 (Coordinator: http://emr-3432jdr2za2uxx-core-1:25000) Query progress can be monitored at: http://emr-3432jdr2za2uxx-core-1:25000/query_plan?query_id=f74dc7a765xxx:15c929b200000000 Modified 1 row(s), 0 row error(s) in 5.76s
[emr-3432jdr2za2uxx-core-1:21000] default> select * from my_first_table; Query: select * from my_first_table Query submitted at: 2022-09-28 11:49:22 (Coordinator: http://emr-3432jdr2za2uxx-core-1:25000) Query progress can be monitored at: http://emr-3432jdr2za2uxx-core-1:25000/query_plan?query_id=87477e01xxx:8a3f74d300000000 +----+------+ | id | name | +----+------+ | 1 | Tom | +----+------+ Fetched 1 row(s) in 0.33s