架构组件&查询处理流程--笔记总结 | 学习笔记

简介: 快速学习 架构组件&查询处理流程--笔记总结

开发者学堂课程【大数据Impala教程架构组件&查询处理流程--笔记总结学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/722/detail/12886


架构组件&查询处理流程--笔记总结


内容介绍:

一、Impala 可以集群部署

二、Impala 查询处理流程

 

一、Impala 可以集群部署

1.概况

为了更好的理解 Impala 工作执行流程。通过笔记的方式用通俗的话语去描述当 Impala 中各个模块的职责以及查询处理过程。

2.Impala

首先针对 Impala 可以分布式集群部署。意味着可以部署在多个机器上,分为以下几个模块,第一个叫做 Impalad,准确来说 Impalad 就是 Impala 的服务。这个服务可以部署在多个不同的机器上。通常与 datenode 部署在同一个节点。这个目的主要是方便数据的本地化计算,效率较高,除了知道 Impala 之外,还要知道负责具体执行本次查询 SQL Impalad 称之为 Coordinator。比如发射请求,每个负责查询的连接到一个机器上,把它称之为协调者。协调者单词叫做 Coordinator,说到这里可以感受一下 Impala 服务可以连接到任何一台机器上。叫做每个 Impala server 都可以对外提供服务,都可以接受用户的请求,这是第一个模块。

3.Impala State Store

第二个模块叫做 Impala State Store 状态存储,主要保存 Impalad 的状态信息。监视其健康状态,维护集群中哪些服务可用,哪些服务不可用。

4.Impala Catalogd

第三个很重要叫做 Impala Catalogd 这个进程在老版本的 Impala 中是没有的。主要 metastore 维护的网关负责跟 hive metastore 进行交互,同步 hive 的数据到 Impala 自己的元数据中。启动的时候可以看到这些进程和服务的存在。

5.CLI

另外一个是用户操作 Impala 的方式,目前来说官方使用的 shell 通过命令行 Impala shell,另外一个可以使用 JDBC,写 Java 代码访问他,另外可以跟 hue 软件做集成,通过可视化页面区别。这样就可以满足 Impala 架构模块。要理解清楚他们分别的职责是什么。

 

二、Impala 查询处理流程

第二块叫做 Impala 查询处理流程。主要主要是简单梳理感受 Impala 是怎么工作的。根据讲义上的图感受大致 Impalad 执行过程。

1.两个部分

每个分为两个部分,一个叫做 Java 前端。一个叫做 C++ 后端。Java 前端负责接收解析 SQL,编译成执行计划树。C++ 后端负责具体的执行计划树操作,最终对数据进行操作。对于 C++ 代码怎么优化的开发代码比较陌生了。

2.Impala SQL

下面看一下用户编写的 Impala SQLSQL 首先传递给一个 Impala 的服务器 Impalad ,负责接受的叫做 Coordinator,调用 Java 前端,编译 SQL 成计划树。把编译的计划树以 Thrift 的数据格式返回给 C++ 后端。后端根据执行计划树、数据位于路径。路径底层会通过 libhdfs 和文件系统 HDFS 交互。还有 Impalad 状态信息,分配执行计划,进行查询,再汇总查询结果,把结果返回给 Java 前端,传递给用户的 CLI 命令行的地方或是进行 hue 展示的地方,大致描绘出了编写的收获过程。

3. hive 的不同

可以类比跟 hive 的执行流程总结优化,跟 hive 不同就在于整个执行中已经没有了 mapreduce 程序的存在,就可以使得它变成一种实时查询交互的 SQL 类的软件。

相关文章
|
2月前
|
前端开发 测试技术 数据处理
Kotlin教程笔记 - MVP与MVVM架构设计的对比
Kotlin教程笔记 - MVP与MVVM架构设计的对比
61 4
|
2月前
|
前端开发 JavaScript 测试技术
Kotlin教程笔记 - 适合构建中大型项目的架构模式全面对比
Kotlin教程笔记 - 适合构建中大型项目的架构模式全面对比
39 3
|
2月前
|
存储 前端开发 Java
Kotlin教程笔记 - MVVM架构怎样避免内存泄漏
Kotlin教程笔记 - MVVM架构怎样避免内存泄漏
33 2
|
3月前
|
JSON JavaScript 前端开发
Vue3源码架构简析及Monorepo流程构建
【10月更文挑战第12天】Vue3源码架构简析及Monorepo流程构建
Vue3源码架构简析及Monorepo流程构建
|
9天前
|
自然语言处理 JavaScript Java
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS架构介绍
HarmonyOS采用分层架构设计,从下至上分为内核层、系统服务层、框架层和应用层。内核层支持多内核设计与硬件驱动;系统服务层提供核心能力和服务;框架层支持多语言开发;应用层包括系统及第三方应用,支持跨设备调度,确保一致的用户体验。
126 81
|
3月前
|
消息中间件 存储 Java
RocketMQ(一):消息中间件缘起,一览整体架构及核心组件
【10月更文挑战第15天】本文介绍了消息中间件的基本概念和特点,重点解析了RocketMQ的整体架构和核心组件。消息中间件如RocketMQ、RabbitMQ、Kafka等,具备异步通信、持久化、削峰填谷、系统解耦等特点,适用于分布式系统。RocketMQ的架构包括NameServer、Broker、Producer、Consumer等组件,通过这些组件实现消息的生产、存储和消费。文章还提供了Spring Boot快速上手RocketMQ的示例代码,帮助读者快速入门。
|
2月前
|
监控 前端开发 数据可视化
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
@icraft/player-react 是 iCraft Editor 推出的 React 组件库,旨在简化3D数字孪生场景的前端集成。它支持零配置快速接入、自定义插件、丰富的事件和方法、动画控制及实时数据接入,帮助开发者轻松实现3D场景与React项目的无缝融合。
200 8
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
|
2月前
|
SQL 数据采集 分布式计算
【赵渝强老师】基于大数据组件的平台架构
本文介绍了大数据平台的总体架构及各层的功能。大数据平台架构分为五层:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。其中,大数据平台层为核心,负责数据的存储和计算,支持离线和实时数据处理。数据仓库层则基于大数据平台构建数据模型,应用层则利用这些模型实现具体的应用场景。文中还提供了Lambda和Kappa架构的视频讲解。
263 3
【赵渝强老师】基于大数据组件的平台架构
|
2月前
|
XML 前端开发 Android开发
Kotlin教程笔记(80) - MVVM架构设计
Kotlin教程笔记(80) - MVVM架构设计
|
2月前
|
XML 前端开发 Android开发
Kotlin教程笔记(80) - MVVM架构设计
Kotlin教程笔记(80) - MVVM架构设计
下一篇
开通oss服务