Impala
更新时间:2021-12-22
Impala简介
Impala是Cloudera公司主导开发的MPP架构的查询系统,它提供SQL语义,能够快速的查询存储在HDFS、HBASE中的数据。此外Impala使用与Hive相同的元数据、SQL语法、ODBC驱动。
创建集群
登录百度云控制台,选择“产品服务->MapReduce BMR”,点击“创建集群”,进入集群创建页。BMR2.0.0及以上版本已支持 Impala 组件集成,购置集群时勾选 Impala 组件即可, 如下图所示:
使用简介
-
远程登录到创建好的集群
Plain Text1ssh root@$public_ip 2使用创建集群时输入的密码
-
准备数据,可以参考数据准备。上传日志文件到HDFS中。
Plain Text1hadoop dfs -get bos://datamart-gz/web-log-10k/accesslog-10k.log ./ 2hadoop dfs -put accesslog-10k.log /tmp/test
-
在impala-shell中执行命令建表
-
在shell中输入impala-shell
说明:impala-shell默认连接到localhost上impalad的21000端口。BMR集群默认只在core、task节点上安装impalad服务。
如果在master节点上执行impala-shell,需要使用-i <host:port>参数指定安装了impalad的host。更多可用参数可通过impala-shell -h查看。
-
执行如下建表语句
Plain Text1CREATE EXTERNAL TABLE `access_logs`( 2`remote_addr` string COMMENT 'client IP', 3`time_local` string COMMENT 'access time', 4`request` string COMMENT 'request URL', 5`status` string COMMENT 'HTTP status', 6`body_bytes_sent` string COMMENT 'size of response body', 7`http_referer` string COMMENT 'referer', 8`http_cookie` string COMMENT 'cookies', 9`remote_user` string COMMENT 'client name', 10`http_user_agent` string COMMENT 'client browser info', 11`request_time` string COMMENT 'consumed time of handling request', 12`host` string COMMENT 'server host', 13`msec` string COMMENT 'consumed time of writing logs') 14COMMENT 'web access logs' 15ROW FORMAT DELIMITED 16FIELDS TERMINATED BY '\t' 17LOCATION '/tmp'
-
-
建表成功后,可以使用SQL语句查询结果。如果使用提供的样例数据和建表语句,可以看到如下结果。