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

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

开发者学堂课程【大数据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 类的软件。

相关文章
|
9天前
|
前端开发 测试技术 数据处理
Kotlin教程笔记 - MVP与MVVM架构设计的对比
Kotlin教程笔记 - MVP与MVVM架构设计的对比
29 4
|
2月前
|
JSON JavaScript 前端开发
Vue3源码架构简析及Monorepo流程构建
【10月更文挑战第12天】Vue3源码架构简析及Monorepo流程构建
Vue3源码架构简析及Monorepo流程构建
|
2月前
|
消息中间件 存储 Java
RocketMQ(一):消息中间件缘起,一览整体架构及核心组件
【10月更文挑战第15天】本文介绍了消息中间件的基本概念和特点,重点解析了RocketMQ的整体架构和核心组件。消息中间件如RocketMQ、RabbitMQ、Kafka等,具备异步通信、持久化、削峰填谷、系统解耦等特点,适用于分布式系统。RocketMQ的架构包括NameServer、Broker、Producer、Consumer等组件,通过这些组件实现消息的生产、存储和消费。文章还提供了Spring Boot快速上手RocketMQ的示例代码,帮助读者快速入门。
|
2月前
|
存储 分布式计算 API
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
85 0
|
18天前
|
SQL 数据采集 分布式计算
【赵渝强老师】基于大数据组件的平台架构
本文介绍了大数据平台的总体架构及各层的功能。大数据平台架构分为五层:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。其中,大数据平台层为核心,负责数据的存储和计算,支持离线和实时数据处理。数据仓库层则基于大数据平台构建数据模型,应用层则利用这些模型实现具体的应用场景。文中还提供了Lambda和Kappa架构的视频讲解。
【赵渝强老师】基于大数据组件的平台架构
|
21天前
|
XML 前端开发 Android开发
Kotlin教程笔记(80) - MVVM架构设计
Kotlin教程笔记(80) - MVVM架构设计
|
2月前
|
机器学习/深度学习 网络架构 计算机视觉
目标检测笔记(一):不同模型的网络架构介绍和代码
这篇文章介绍了ShuffleNetV2网络架构及其代码实现,包括模型结构、代码细节和不同版本的模型。ShuffleNetV2是一个高效的卷积神经网络,适用于深度学习中的目标检测任务。
75 1
目标检测笔记(一):不同模型的网络架构介绍和代码
|
2月前
|
XML 前端开发 Android开发
Kotlin教程笔记(80) - MVVM架构设计
Kotlin教程笔记(80) - MVVM架构设计
26 1
|
2月前
|
SQL 存储 分布式计算
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
31 9
|
2月前
|
XML 前端开发 Android开发
Kotlin教程笔记(80) - MVVM架构设计
本系列学习教程笔记详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。对于希望快速学习Kotlin语法的读者,建议参考“简洁”系列教程。本文重点介绍了Kotlin实现MVVM架构的设计思路和代码实现,包括Model、ViewModel和View层的具体实现,以及如何通过LiveData和viewModelScope有效管理数据和内存,避免内存泄漏。此外,还讨论了MVVM架构的常见缺点及应对策略,帮助开发者在实际项目中更好地应用这一设计模式。
35 1