Hive记录-impala常用命令

1.impala是什么

Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据。已有的Hive系统虽然也提供了SQL语义,但由于Hive底层执行使用的是MapReduce引擎,仍然是一个批处理过程,难以满足查询的交互性。相比之下,Impala的最大特点也是最大卖点就是它的快速。

2.impala优点

Impala不需要把中间结果写入磁盘,省掉了大量的I/O开销。

省掉了MapReduce作业启动的开销。MapReduce启动task的速度很慢(默认每个心跳间隔是3秒钟),Impala直接通过相应的服务进程来进行作业调度,速度快了很多。

Impala完全抛弃了MapReduce这个不太适合做SQL查询的范式,而是像Dremel一样借鉴了MPP并行数据库的思想另起炉灶,因此可做更多的查询优化,从而省掉不必要的shuffle、sort等开销。

通过使用LLVM来统一编译运行时代码,避免了为支持通用编译而带来的不必要开销。

用C++实现,做了很多有针对性的硬件优化,例如使用SSE指令。

使用了支持Data locality的I/O调度机制,尽可能地将数据和计算分配在同一台机器上进行,减少了网络开销。

3.impala shell常用命令

1)impala-shell -h帮助

2)connect 192.168.66.66 连接服务器

3)show tables查看表

4)create database test;

5)其他SQL与hive类似;

6)支持shell操作

7)Impala使用SQL作为其查询语言,为了保护用户在技能开发和查询设计方面的投资,Impala提供了与Hive查询语言(HiveQL)的高度兼容性:

a.因为Impala使用与Hive相同的元数据存储来记录有关表结构和属性的信息,Impala可以访问通过本机Impala CREATE TABLE命令定义的表,或使用Hive数据定义语言(DDL)创建的表。

b.Impala支持类似于HiveQL的DML组件的数据操作(DML)语句。

c.Impala提供了许多内置函数,其名称和参数类型与其HiveQL等同。

8)Impala支持大多数与HiveQL相同的语句和子句,包括但不限于FROM子句中的:

JOIN,AGGREGATE,DISTINCT,UNION ALL,ORDER BY,LIMIT和(不相关)子查询

 备注:Impala也支持INSERT INTO和INSERT OVERWRITE

9)Impala支持与Hive数据类型具有相同名称和语义的数据类型:STRING,TINYINT,SMALLINT,INT,BIGINT,FLOAT,DOUBLE,BOOLEAN,STRING,TIMESTAMP

详细请参考https://www.cloudera.com/documentation/enterprise/latest/topics/impala.html

上一篇:python初识-day2


下一篇:Ubuntu server12.04安装JDK+Tomcat+mysql