impala初探

时间:2024-04-06 16:23:18

我个人学习新技术的话,会去官网,官网的东西相比一些别人博客上面写的更加权威一些,也相对全面一些,不过有一个缺点是这些技术官网大多是英文的,当然谷歌是带有翻译功能的,平时碎片化时间学学英语也是有必要的。

impala我们老大已经搭建好了环境,搭建环境的话也不是那么容易的一件事。

Impalahadoop上交互式MPP SQL引擎, 也是目前性能较好的开源SQL-on-hadoop方案。 如下图所示, impala性能超过SparkSQL Presto Hive

impala初探

impalahadoop生态结合紧密

(1) HDFSimpala最主要的数据源。 除此之外, impala也支持HBase,甚至支持S3存储。

(2) impala表定义存储在hive metastore中, 支持读取hive表定义。

(3) 支持Parquet RCFile sequence file txt等常见文件格式, 其中Parquet是列存格式,性能最佳。

(4) 集成YARN

对impala的工作原理可以参考

http://www.mamicode.com/info-detail-1694415.html

impala官网有相应的PDF可以下载下来进行学习

impala初探

Impala的架构如下

impala初探

可以看出impala底层是不走mapreduce的所以相对于hive而言,impala的查询要比hive快。

这里有一个相关系统对比的图示:

impala初探

对于impala现在研究的并不深,只是初步认识

Impala数据类型有:


BIGINT此数据类型存储数值,此数据类型的范围为-92233720368547758089223372036854775807.此数据类型在create tablealter table语句中使用。

BOOLEAN此数据类型只存储truefalse值,它用于create table语句的列定义。

CHAR此数据类型是固定长度的存储,它用空格填充,可以存储最大长度为255

DECIMAL此数据类型用于存储十进制值,并在create tablealter table语句中使用。

DOUBLE此数据类型用于存储正值或负值4.94065645841246544e-324d -1.79769313486231570e + 308范围内的浮点值。

FLOAT此数据类型用于存储正或负1.40129846432481707e-45 .. 3.40282346638528860e + 38范围内的单精度浮点值数据类型
INT此数据类型用于存储4字节整数,范围从-21474836482147483647

SMALLINT此数据类型用于存储2字节整数,范围为-3276832767

STRING这用于存储字符串值

TIMESTAMP此数据类型用于表示时间中的点

TINYINT此数据类型用于存储1字节整数值,范围为-128127

VARCHAR此数据类型用于存储可变长度字符,最大长度为65,535

ARRAY这是一个复杂的数据类型,它用于存储可变数量的有序元素。

Map这是一个复杂的数据类型,它用于存储可变数量的键值对。

Struct这是一种复杂的数据类型,用于表示单个项目的多个字段。

启动impala客户端:impala-shell

impala初探

这样就连接到了服务器:

就可以访问所连接服务器上的数据

Sql查询语法跟hive里面差不多

impala初探

impala初探

Impala的连接器主要有:

impala初探

关于impala相关的教程:官网上有相应的教程

http://impala.apache.org/docs/build3x/html/topics/impala_tutorial.html

今天就先到这儿。