当前位置: 首页 > news >正文

Spark on hive Hive on spark

文章目录

    • Spark on hive & Hive on spark
      • Hive 架构与基本原理
      • Spark on hive
      • Hive on spark

Spark on hive & Hive on spark

Hive 架构与基本原理

在这里插入图片描述

Hive 的核心部件主要是 User Interface(1)和 Driver(3)。而不论是元数据库(4)、存储系统(5),还是计算引擎(6),Hive 都以“可插拔”的方式交给第三方独立组件。

Hive sql查询工作流程:

  • 接收到 SQL 查询之后, Hive 的 Driver 首先使用其 Parser 组件,将查询语句转化为 AST(Abstract Syntax Tree,查询语法树)。

  • Planner 组件根据 AST 生成执行计划,而 Optimizer 则进一步优化执行计划。要完成这一系列的动作,Hive 必须要拿到相关数据表的元信息,比如表名、列名、字段类型、数据文件存储路径、文件格式,等等;元信息存储在“Hive Metastore”(4)的数据库中。

Hive Metastore 是一个普通的关系型数据库(RDBMS),它的作用:

  • 辅助SQL 语法解析、执行计划的生成与优化;
  • 帮助底层计算引擎高效地定位并访问分布式文件系统中的数据源;

Spark on hive

在这里插入图片描述

Spark on Hive是spark做sql解析并转换成RDD执行,hive仅仅是做为外部数据源

Spark SQL 对 SQL 查询语句先后进行语法解析、语法树构建、逻辑优化、物理优化、数据结构优化、以及执行代码优化,等等。然后Spark SQL 将优化过后的执行计划,交付给 Spark Core执行引。

Hive on spark

在这里插入图片描述

“Hive on Spark” 指的是 Hive 采用 Spark 作为其后端的分布执行引擎。

Hive on Spark 是由 Hive 的 Driver 来完成 SQL 语句的解析、规划与优化,还需要把执行计划“翻译”成 RDD 语义下的 DAG,然后再把 DAG 交付给 Spark Core执行。【Spark on hive是由Spark SQL + Spark Core执行,性能更好】

相关文章:

Spark on hive Hive on spark

文章目录Spark on hive & Hive on sparkHive 架构与基本原理Spark on hiveHive on sparkSpark on hive & Hive on spark Hive 架构与基本原理 Hive 的核心部件主要是 User Interface(1)和 Driver(3)。而不论是元数据库&a…...

【MySQL】子查询

这里写自定义目录标题子查询1、子查询的基本使用2、 单行子查询2.1、单行比较查询2.2、HAVING 中的子查询2.3、CASE中的子查询3、多行子查询4、相关子查询5、EXISTS 与 NOT EXISTS关键字子查询 子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQ…...

Day889.MySQL高可用 -MySQL实战

MySQL高可用 Hi,我是阿昌,今天学习记录的是关于MySQL高可用的内容。 正常情况下,只要主库执行更新生成的所有 binlog,都可以传到备库并被正确地执行,备库就能达到跟主库一致的状态,这就是最终一致性。但是…...

剑指 Offer 24. 反转链表

⭐简单说两句⭐ CSDN个人主页:后端小知识 🔎GZH:后端小知识 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 题目: 剑指 Offer 24. 反转链表 ,我们今天还是来看一道easy的题目吧&…...

“黑铁时代”,地产人如何以客户视角加速房企数字化转型

本文从行业洞察、业务设计、数据建设以及实践探索四个部分详细阐述地产行业数字化的实践、思考和理解。点击文末“阅读原文”,观看完整版直播回放并下载演讲文档。一、洞察:房企经营思路的变化企业的转型都是围绕着业务经营变化进行的,房企数…...

零入门kubernetes网络实战-14->基于veth pair、namespace以及路由技术,实现跨主机命名空间之间的通信测试案例

《零入门kubernetes网络实战》视频专栏地址 https://www.ixigua.com/7193641905282875942 本篇文章视频地址(稍后上传) 本篇文章继续提供测试案例: 基于veth pair、namespace以及路由技术,实现跨主机命名空间之间的通信 1、网络拓扑如下 2、网络拓扑构建…...

【pytorch框架】对模型知识的基本了解

文章目录TensorBoard的使用1、TensorBoard启动:2、使用TensorBoard查看一张图片3、transforms的使用pytorch框架基础知识1 nn.module的使用2 nn.conv2d的使用3、池化(MaxPool2d)4 非线性激活5 线性层6 Sequential的使用7 损失函数与反向传播8 优化器9 对现有网络的使…...

SUP桨板电动气泵方案——鼎盛合方案

SUP桨板是现时最热门的水上运动之一,它的全称是Stand Up Paddle,简称SUP。这项运动近几年在我国三亚等地区风靡一时,在网上经常看到一些运动博主或者明星网红晒出冲浪视频,刺激又惊险。SUP桨板为充气式桨板,需要通过充…...

小白系列Vite-Vue3-TypeScript:011-登录界面搭建及动态路由配置

前面几篇文章我们介绍的都是ViteVue3TypeScript项目中环境相关的配置,接下来我们开始进入系统搭建部分。本篇我们来介绍登录界面搭建及动态路由配置,大家一起撸起来......搭建登录界面登陆接口api项目登陆接口是通过mockjs前端来模拟的模拟服务接口Login…...

C语言( 缓冲区和重定向)

一.缓冲输入,无缓存输入 while((chgetchar()) ! #) putchar(ch); 这里getchar(),putchar()每次只处理一个字符(这里只是知道就好了),而我们使用while循环,当读到#字符时停止 而看到输出例子,第一行我们输入…...

编程思想、方法论和架构的类型及应用

概要编程思想是指在编写代码时所采用的基本思维方式和方法论。分类编程思想编程思想为软件开发提供了思维范式和指导思路,例如面向对象思想、函数式编程思想等,它们帮助程序员更好地抽象问题、组织代码、提高代码复用性和可维护性,包括一下几…...

【OA办公】OA流程审批大揭秘,带你看遍所有基础流程

流程审批,是所有企业的OA办公系统重要组成部分,是任何OA办公系统都不可缺少的。比起传统的纸张传阅、签批的审批模式浪费了大量的时间和成本,因此越来越多的企业采用OA这种全新的、高效的、智能的审批模式。流程审批除了这些好处,…...

《零基础入门数据结构与算法》专栏介绍

目录 前言 第一部分:重点 第二部分:题库 第三部分:测试 第四部分:实验 第五部分:试卷 总结 前言 本专栏主要分为五个部分: ① 重要知识点详解 ② 近百道练习题解析 ③ 数据结构与算法章节测试 …...

测试开发之Django实战示例 第九章 扩展商店功能

第九章 扩展商店功能在上一章里,为电商站点集成了支付功能,然后可以生成PDF发票发送给用户。在本章,我们将为商店添加优惠码功能。此外,还会学习国际化和本地化的设置和建立一个推荐商品的系统。本章涵盖如下要点:建立…...

【Spring】一文带你吃透AOP面向切面编程技术(下篇)

个人主页: 几分醉意的CSDN博客_传送门 上节我们介绍了什么是AOP、Aspectj框架的前置通知Before传送门,这篇文章将继续详解Aspectj框架的其它注解。 文章目录💖Aspectj框架介绍✨JoinPoint通知方法的参数✨后置通知AfterReturning✨环绕通知Ar…...

【java】Spring Boot --40 个 Spring Boot 常用注解(建议收藏)

本文目录一、Spring Web MVC 注解Spring Web MVC 注解RequestMappingRequestBodyGetMappingPostMappingPutMappingDeleteMappingPatchMappingControllerAdviceResponseBodyExceptionHandlerResponseStatusPathVariableRequestParamControllerRestControllerModelAttributeCross…...

《游戏学习》| 微信对话模拟生成器源码分析

简介微信对话生成器,是一款在线微信聊天对话制作的工具,它可以设置苹果或安卓状态栏,包括手机电量、手机时间等,还可以设置不同用户的角色,然后发送文字、语音、红包、转账等多种好玩的功能,可谓是一款娱乐…...

剑指 Offer 10- I. 斐波那契数列[c语言]

目录题目思路代码结果该文章只是用于记录考研复试刷题题目 力扣斐波那契数列 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下: F(0) 0, F(1) 1 …...

【C#基础】C# 数据类型总结

序号系列文章0【C#基础】初识编程语言C#1【C#基础】C# 程序通用结构2【C#基础】C# 基础语法解析文章目录前言数据类型一. 值类型(Value types)二. 引用类型(Reference types)三. 指针类型(Pointer types)结…...

再创荣誉 | Softing工业荣获CAIMRS 2023 数字化创新奖

在刚刚结束的中国工控-第二十一届“自动化及数字化”年度评选(CAIMRS 2023)中,Softing凭借edgeAggregator产品荣获“数字化创新奖”! 经层层筛选,Softing edgeAggregator边缘聚合服务器从中脱颖而出,摘得C…...

FigmaCN:消除语言壁垒的中文界面本地化解决方案

FigmaCN:消除语言壁垒的中文界面本地化解决方案 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN FigmaCN是一款专为中文设计师打造的浏览器插件,通过3800条人工校…...

实战应用:从零到一,使用快马构建资料更新内容管理系统的完整案例

实战应用:从零到一,使用快马构建资料更新内容管理系统的完整案例 最近接手了一个资料大全的版本更新管理需求,需要搭建一个简单高效的内容管理系统。经过一番摸索,我发现用InsCode(快马)平台可以快速实现这个功能,整个…...

OptiScaler:打破显卡技术壁垒——跨平台玩家的AI超分辨率解决方案

OptiScaler:打破显卡技术壁垒——跨平台玩家的AI超分辨率解决方案 【免费下载链接】OptiScaler DLSS replacement for AMD/Intel/Nvidia cards with multiple upscalers (XeSS/FSR2/DLSS) 项目地址: https://gitcode.com/GitHub_Trending/op/OptiScaler 当你…...

Proteus仿真实战:基于STM32的波形发生器设计与实现(附源码与仿真文件)

1. 从零开始:STM32波形发生器的设计思路 第一次接触波形发生器项目时,我也被各种专业术语搞得一头雾水。后来发现,其实可以把STM32想象成一个音乐盒,DAC模块就是它的发声装置,而我们要做的就是教会这个音乐盒演奏不同风…...

给ESP32-S3智能音箱选个好麦克风:从灵敏度到阵列布局的实战避坑指南

给ESP32-S3智能音箱选个好麦克风:从灵敏度到阵列布局的实战避坑指南 在智能家居设备井喷式发展的今天,语音交互已成为人机交互的核心方式之一。作为语音入口的关键部件,麦克风的选择与设计直接决定了用户体验的优劣。本文将深入探讨如何为ESP…...

嵌入式技术学习路径与核心技能解析

嵌入式技术学习路径与资源整合指南1. 嵌入式技术体系概述嵌入式系统作为现代电子设备的核心,其技术栈涵盖从底层硬件到上层软件的完整知识体系。一个合格的嵌入式工程师需要掌握以下核心领域:1.1 基础编程能力C/C语言编程基础数据结构与算法计算机组成原…...

UltraStar Deluxe:零成本构建专业家庭K歌系统的完整指南

UltraStar Deluxe:零成本构建专业家庭K歌系统的完整指南 【免费下载链接】USDX The free and open source karaoke singing game UltraStar Deluxe, inspired by Sony SingStar™ 项目地址: https://gitcode.com/gh_mirrors/us/USDX UltraStar Deluxe是一款开…...

FullCalendar自定义按钮实战:next/prev月份切换回调的优雅实现

1. 为什么需要自定义FullCalendar导航按钮 FullCalendar作为一款功能强大的日历组件,默认提供了prev/next按钮用于月份切换。但在实际项目中,我们经常遇到这样的需求:当用户点击切换月份按钮时,需要执行一些额外的逻辑操作。比如&…...

为机械臂视觉抓取做准备:在Ubuntu 18.04上配置ROS+YOLOv5运行环境的完整避坑清单

为机械臂视觉抓取做准备:在Ubuntu 18.04上配置ROSYOLOv5运行环境的完整避坑清单 当机械臂遇上YOLOv5,视觉抓取的能力边界将被重新定义。但在这之前,开发者需要跨越环境配置的"死亡之谷"——特别是当Ubuntu 18.04、ROS Melodic和PyT…...

STLink调试工具与STM8/STM32连接技术详解

STLink与STM8/STM32单片机连接技术详解1. STLink调试工具概述STLink是意法半导体(STMicroelectronics)官方推出的嵌入式开发调试工具,主要用于STM8和STM32系列单片机的程序烧录和在线调试。该工具具有以下核心功能特性:支持SWD(Serial Wire Debug)和SWIM…...