Impala - 使用操作方式详解(impala-shell命令行、Hue Web页面)
作者:hangge | 2024-10-17 08:36
Impala 可以支持多种操作方式,在不同的应用场景中,可以选择不同的操作方式。在开发阶段,一般会使用 impala-shell 这个客户端命令行操作。在日常查询使用的时候,特别是针对非开发人员,常见的是在 Hue 这种 Web 页面中进行操作,不需要连接 Linux 服务器,直接在浏览器页面中操作,非常方便。下面我将分别进行演示。
(2)然后直接如下命令创建一张表并插入些测试数据:
(3)然后执行如下命令查询该表数据:
(2)此时发现在命令行中执行 select 语句是看不到返回结果的,因为这些结果数据会输出到 t1.dat 文件中。
(3)退出 impala-shell 客户端后,到当前目录下查看一下 t1.dat 文件中的内容,可以发现查询结果在该文件里面:
(2)下面命令执行后直接将查询结果输出到指定文件中:
(3)查看 t2.dat 可以看到查询结果在该文件里面:
一、impala-shell 客户端命令行
1,基本用法
(1)CDH 安装好 Impala 之后,会默认把 Impala 配置到环境变量中,所以我们直接执行如下命令进入 impala-shell 客户端:
impala-shell
(2)然后直接如下命令创建一张表并插入些测试数据:
create table t1(id int,name string); insert into t1(id,name) values(1,'hangge'); insert into t1(id,name) values(2,'xiaoliu'); insert into t1(id,name) values(3,'lilei');
(3)然后执行如下命令查询该表数据:
select * from t1;
(4)最后如果需要退出 impala-shell 客户端,使用 ctrl + c 是无法强制退出的,可以使用 quit 或者 exit 命令。
(2)在在使用 -B 对数据结果进行格式化的时候,如果想自定义字段分隔符,还需要使用 --output_delimiter 这个参数。下面命令使用逗号作为字段分隔符:
exit;
2,指定字段分隔符
(1)通过上面样例可以发现,结果数据会使用表格进行格式化,这样其实看起来是比较清晰的,但是这种数据格式不便于后期使用。我们可以在进入进入 impala-shell 客户端时使用 -B 参数:
impala-shell -B
- 再次查询数据此可以看到结果数据就比较干净了,只有数据自身的内容,默认情况下字段之间的分隔符是制表符。
select * from t1;
(2)在在使用 -B 对数据结果进行格式化的时候,如果想自定义字段分隔符,还需要使用 --output_delimiter 这个参数。下面命令使用逗号作为字段分隔符:
impala-shell -B --output_delimiter ','
- 再次查询数据此可以看到字段之间的分隔符逗号了。
select * from t1;
3,将查询结果输出到指定的文件中
(1)前面的操作查询的结果还是输出在控制台中,想要将结果输出到文件中的话,我们可以在进入 impala-shell 客户端时使用 -o / --output_file 这个参数指定目标文件名。
注意:这里不能使用 hdfs 路径,只能使用本地路径。
impala-shell -B --output_delimiter ',' -o t1.dat
(2)此时发现在命令行中执行 select 语句是看不到返回结果的,因为这些结果数据会输出到 t1.dat 文件中。
select * from t1;
(3)退出 impala-shell 客户端后,到当前目录下查看一下 t1.dat 文件中的内容,可以发现查询结果在该文件里面:
4,直接在命令行中指定 sql 语句
(1)上面的样例我们都是先进入 impala-shell 客户端后,再执行相应的 sql 语句。通过 -q / --query 参数可以在命令行中指定 sql 语句,不需要进入 impala-shell 客户端里面,适合在脚本中封装 impala sql 语句。
提示:-q 里面可以指定多条 SQL 语句,多条 SQL 语句之间使用分割(;)隔开即可。
impala-shell -B --output_delimiter ',' -q 'select * from t1' -o t2.dat
(3)查看 t2.dat 可以看到查询结果在该文件里面:
二、通过 Hue 访问
(1)首先我们点击 CM 界面的 Hub 服务链接:
(2)然后点击上方的 Hue 链接:
(3)打开 Hub 页面后,左侧显示的是 Hue 支持查询的组件,我们选择 Impala:
注意:如果默认 CDH 中提供的 Hue 里面不支持访问 Impala,需要在 Hue 配置中开启才可以。
(4)然后就 Impala 编辑器来操作 Impala 了:
全部评论(0)