区分各个SQL的概念
SQL
SQL(Structured Query Language)是一种结构化查询语言,是一种语言
常用数据类型是 int 、varchar(size)
MySQL
MySQL是一种关系型数据库管理系统,是一种系统,利用SQL语言来管理数据库
Hive 的 SQL
首先理解Hive,Hive是基于Hadoop的一个数据仓库工具,是一个工具
Hive是为了简化MapReduce编程,用HQL查询语言区实现,而其本身不进行存储和计算
Hive的用处:用来进行数据提取、转化、加载,可以存储、查询和分析存储在Hadoop中的大规模数据
注:Hive的查询语言并不是SQL而是自己的查询语言HQL
常用数据类型 int 、string
Hive架构
1.Client:用户接口
2.MetaStore:元数据库,存放表的元数据,推荐用MySQL进行存储
3.Hadoop:使用HDFS存储,利用MapReduce进行计算
4.Driver驱动器
Hive的功能
1.将结构化数据文件映射成一张表格
2.提供类SQL查询语言HQL(Hive Query Language),HQL可以用来对表进行各种操作
Hive 的本质
Hive通过给用户提供的一系列交互接口,接收到用户的指令(HQL),使用自己的Driver,结合元数据(MetaStore),将这些指令翻译成MapReduce,提交到Hadoop中执行,最后,将执行返回的结果输出到用户交互接口。
简而言之就是将HQL查询语言转换为MapReduce程序
HQL如何转换为MapReduce程序
1.常用的HQL语言的查询操作用MapReduce程序写成很多模板
2.Hive将所有的模板进行封装
3.输入HQL语句
4.Hive去匹配相应的模板
5.运行相应的MapReduce程序
6.得到结果
个人理解
我们在利用HQL建表的时候会规定表的各种结构,当我们把结构化数据文件载入到表中时,我们就完成了Hive的第一个功能:将结构化数据文件映射成一张表;然后就可以用HQL语言对该表进行操作,此时完成了Hive的第二个功能:提供了类SQL的查询语言HQL
Spark SQL
Spark SQL是Spark处理结构化数据的一个模块,无缝整合了Spark编程和SQL查询语言
可以使用SQL语言和Hive的HQL语言
Spark SQL 和 Hive
Spark SQL兼容Hive
如果在Spark SQL上执行Hive语句,这种叫做Spark on Hive
如果在Hive上执行Hive语句,但是执行引擎是Spark的话叫做Hive on Spark
写SQL思路
1.分析要输出的字段来自哪些表
2.将这些表进行连接,采取什么连接
3.按照需求进行select需要的字段,新产生的字段(来自什么字段的什么处理)
4.进行分组,排序,聚合等操作
5.完成需求
区分各个SQL的概念相关推荐
- MySQL学习笔记02【SQL基本概念与通用语法、数据库的CRUD操作】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
- CRM 概念:了解Leads、Prospect、MQL 和 SQL 的概念
visitors:网站访问者等 Leads:销售线索,销售机会 MQL:(Marketing Qualified Leads) 市场验证线索(营销合格线索) SQL:(Sales Qualified ...
- SQL RDBMS 概念
(1)SQL RDBMS 概念 RDBMS是关系数据库管理系统(Relational Database Management System)的缩写. RDBMS是SQL的基础,也是所有现代数据库系统( ...
- (ORACLE)PL/SQL 数据库概念
(ORACLE)PL/SQL 数据库的概念 数据库的概念 数据库就是存放数据的仓库,是按照数据的结构来组织,管理,存储的仓库,是对数据持久化的工具,数据库(本质就是一个软件),它能有效的管理数据,数据 ...
- 【图示化】SQL Server概念:超键(码)、候选键(候选码)、主键(主码)、主属性与非主属性、外键
关系模型概念 字段=属性名,每一行就是一条记录=一个元组,每个单元格就是一个分量, 主键,外键 主码=主键=主关键字 超键(码),候选键 码=超键 超键 (唯一的,可多余) 学号唯一,所以是一个超键 ...
- MYSQL基础之SQL语句概念,规范,以及了解SELECT
SQL 的简介 1974年,IBM研究员发布了一篇揭开了数据库技术的论文<SEQUEL:一门机构化的英语查询语言>,直到新增这个查询语言也没有太大的变化.可以看出SQL语言的生命力之强. ...
- 【MySQL】SQL的概念
一.基本概念 1.1 什么是 SQL Structured Query Language 结构化查询语言 1.2 SQL作用 (1) 是一种所有关系型数据库的查询规范,不同的数据库都支持. (2) 通 ...
- SQL语言基础:SQL语言概念知识笔记
1.SQL标准 ANSI(美国国家标准机构)SQL 对ANSI SQL进行修改后在1992年采用的标准SQL-92或SQL2 SQL-99或SQL3标准从SQL2扩充而来,增加了对象关系特征和许多其他 ...
- SQL索引概念(详解B+树)
Sql索引(index) 定义 分类 复合索引特性 复合索引最左特性(原则) 原理 索引及其扫描类型 索引的优缺点 扩展:索引工作原理 BTree+索引 怎么判断是否创建索引? 为什么Mysql用B+ ...
最新文章
- python采用解释方式执行_Python初学(一)
- [01]EXTJS4.0的概述和HELLOWORD程序
- Windows Server vNext Technical Preview UI Build 9841
- java spring工作原理_SpringMVC的工作原理是什么样的,跟Spring的关系是怎么样的?
- 到底什么是 OAuth 2.0
- 工作69:发布商品页面
- fragment嵌套,viewpager嵌套 不能正确显示
- 代码审查:程序员内炼之道
- flutter listview 滚动到底部_??一个高颜值Flutter版WanAndroid客户端
- [Elasticsearch] es 6.8 编译成功
- js原生语法实现表格操作
- 10分钟带你光速入门运维工具之-Puppet
- asp小偷转html,ASP之XMLHTTP小偷程序的简单代码范例
- java elasticsearch 5.4.0 x-pack client
- Mybatis-Plus 的BaseMapper用法
- 2021四川紧急选调/国考备考策略----申论/行测(2020.8.22号开始)
- 根据制备方法划分不同的壳聚糖水凝胶
- python3表白代码弹窗_抖音整蛊表白电脑弹窗代码大全
- keyshot pro 10报许可证(*.lic)对该计算机无效解决办法
- 2.应用Android的UI框架
热门文章
- md5编码java_MD5编码工具类 MD5Code.java
- 使用 spark sql extensions 实现 skew join
- 解决Android Studio无法下载
- 50道MySQL面试题,掌握之后你将获得无上法力,一发不可收拾!
- Java面试题及答案2019版(下),mysql事务隔离级别原理
- 春季养生知识多 吃萝卜可预防上火
- DB2数据库开发工具:DBVisualizer
- Oauth 第三方授权登陆 facebook google twitter instagram
- 新手如何在Git Hub上学习开源项目+社交
- 微信小程序引用Vant组件库message: 没有找到可以构建的 NPM 包,请确认需要参与构建的 npm 都在 `miniprogramRoot` 目录内...