Hadoop下的impala数据库语法应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop下的impala数据库语法应用相关的知识,希望对你有一定的参考价值。

在impala中只能用union all不能用union么?求大神解答!!!

Impala的SQL解析与执行计划生成部分是由impala-frontend(Java)实现的,监听端口是21000。用户通过Beeswax接口BeeswaxService.query()提交一个请求,在impalad端的处理逻辑是由void ImpalaServer::query(QueryHandle& query_handle, const Query& query)这个函数(在impala-beeswax-server.cc中实现)完成的。
在impala中一条SQL语句先后经历BeeswaxService.Query->TClientRequest->TExecRequest,最后把TExecRequest交由impala-coordinator分发给多个backend处理。本文主要讲一条SQL语句是怎么一步一步变成TExecRequest的。
参考技术A Impala大数据分析引擎课程
课程学习地址:http://www.xuetuwuyou.com/course/306
课程出自学途无忧网:http://www.xuetuwuyou.com

场景下的交互式计算引擎Impala和Presto

应用于ROLAP场景下的交互式计算引擎Impala和Presto


具有以下特点:

1、跟Hadoop生态系统完好结合,可与Hive Metastore对接,处理hive中的表,可直接处理存储在HDFS和Hbase中的数据。

2、计算与存储分析:仅仅是查询引擎,不提供数据存储服务。

3、MPP架构,采用经典的MPP架构,具有良好的扩展性,能够应对TB甚至PB级数据交互式查询需求;

4、嵌套式数据存储,支持常见的列式存储格式,比如ORC和Parquet。


Impala:由Cludera公司开发,充分结合传统数据库与大数据系统Hadoop的优势,构造一个全新的、支持SQL与多租户、并具备良好的灵活性和扩展性的高性能查询引擎。

一、特征:

1、Impala完全抛弃了MapReduce这个不太适合做SQL查询的范式,借鉴了MPP并行数据库思想,采用了全服务进程的设计架构。

2、采用全内存实现,不需要把中间结果写入磁盘,省掉大量的I/O开销。

3、充分利用本地读,尽可能的将数据和计算分配到同一台机器上。

4、用C++实现,做了很多针对底层的优化,eg:SSE指令。


二、基本架构:

1、Catalogd:元信息管理服务

2、Statestored:状态管理服务器

3、Impalad:同时承担协调者和执行这双重角色。


三、访问方式


通过JDBC/ODBC访问,通过Kerberos或LADP进行认证。


Presto:由Facebook公司开源,能够处理TB甚至PB级别的数据量,由于Presto能与Hive进行无缝集成,因而成为主流的OLAP引擎。


一、基本架构:

是一个Master-Slave架构,由一个Coordinator服务,一个Discovery Server服务,多个Worker服务组成。


1、Coordinator:协调者,接收客户端查询请求(SQL)并对齐进行词法分析,语法分析生成逻辑查询计划及物理查询计划,将各个任务调度到各位worker上执行,并在worker返回结果后对其进一步汇总。在一个Presto集群中可同时存在多个Coordinator防止单点故障。

2、Discovery Server:服务发现组件,各个Worker启动时会定期向Discovery Server注册,并将状态信息汇报给Discovery Server

3、Worker:任务执行者。


Presto是一个分布式查询引擎,并不提供数据存储功能,为此,Presto采用了插件化设计思路,支撑多种数据样,包括Hive、HDFS、Mysql、Cassanddra、Hbase和Redis等。


二、访问方式

Presto是插件式架构,通过连接器接入外部数据源,为了区分各个数据源中的数据,它在数据库之上引入了一层命名空间:catalog,前面提到的Hive、Cassandra和Mysql等在Presto中均以catalog存在。不同的catalog中可以有多个数据库,每个数据库中进一步可以存在多张表。


区别于多维度数据组织的MOLAP类型的OLAP查询引擎Druid和Kylin。


以上是关于Hadoop下的impala数据库语法应用的主要内容,如果未能解决你的问题,请参考以下文章

场景下的交互式计算引擎Impala和Presto

impala 理论

如何在 Hadoop 上运行的 Cloudera Impala 的 python impyla 查询中转义字符

hadoop生态系统学习之路hbase与hive的数据同步以及hive与impala的数据同步

Impala-CDH550 译| Impala介绍

Intel李锐:Hive on Spark解析