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的概念相关推荐

  1. MySQL学习笔记02【SQL基本概念与通用语法、数据库的CRUD操作】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  2. CRM 概念:了解Leads、Prospect、MQL 和 SQL 的概念

    visitors:网站访问者等 Leads:销售线索,销售机会 MQL:(Marketing Qualified Leads) 市场验证线索(营销合格线索) SQL:(Sales Qualified ...

  3. SQL RDBMS 概念

    (1)SQL RDBMS 概念 RDBMS是关系数据库管理系统(Relational Database Management System)的缩写. RDBMS是SQL的基础,也是所有现代数据库系统( ...

  4. (ORACLE)PL/SQL 数据库概念

    (ORACLE)PL/SQL 数据库的概念 数据库的概念 数据库就是存放数据的仓库,是按照数据的结构来组织,管理,存储的仓库,是对数据持久化的工具,数据库(本质就是一个软件),它能有效的管理数据,数据 ...

  5. 【图示化】SQL Server概念:超键(码)、候选键(候选码)、主键(主码)、主属性与非主属性、外键

    关系模型概念 字段=属性名,每一行就是一条记录=一个元组,每个单元格就是一个分量, 主键,外键 主码=主键=主关键字 超键(码),候选键 码=超键 超键 (唯一的,可多余) 学号唯一,所以是一个超键 ...

  6. MYSQL基础之SQL语句概念,规范,以及了解SELECT

    SQL 的简介 1974年,IBM研究员发布了一篇揭开了数据库技术的论文<SEQUEL:一门机构化的英语查询语言>,直到新增这个查询语言也没有太大的变化.可以看出SQL语言的生命力之强. ...

  7. 【MySQL】SQL的概念

    一.基本概念 1.1 什么是 SQL Structured Query Language 结构化查询语言 1.2 SQL作用 (1) 是一种所有关系型数据库的查询规范,不同的数据库都支持. (2) 通 ...

  8. SQL语言基础:SQL语言概念知识笔记

    1.SQL标准 ANSI(美国国家标准机构)SQL 对ANSI SQL进行修改后在1992年采用的标准SQL-92或SQL2 SQL-99或SQL3标准从SQL2扩充而来,增加了对象关系特征和许多其他 ...

  9. SQL索引概念(详解B+树)

    Sql索引(index) 定义 分类 复合索引特性 复合索引最左特性(原则) 原理 索引及其扫描类型 索引的优缺点 扩展:索引工作原理 BTree+索引 怎么判断是否创建索引? 为什么Mysql用B+ ...

最新文章

  1. python采用解释方式执行_Python初学(一)
  2. [01]EXTJS4.0的概述和HELLOWORD程序
  3. Windows Server vNext Technical Preview UI Build 9841
  4. java spring工作原理_SpringMVC的工作原理是什么样的,跟Spring的关系是怎么样的?
  5. 到底什么是 OAuth 2.0
  6. 工作69:发布商品页面
  7. fragment嵌套,viewpager嵌套 不能正确显示
  8. 代码审查:程序员内炼之道
  9. flutter listview 滚动到底部_??一个高颜值Flutter版WanAndroid客户端
  10. [Elasticsearch] es 6.8 编译成功
  11. js原生语法实现表格操作
  12. 10分钟带你光速入门运维工具之-Puppet
  13. asp小偷转html,ASP之XMLHTTP小偷程序的简单代码范例
  14. java elasticsearch 5.4.0 x-pack client
  15. Mybatis-Plus 的BaseMapper用法
  16. 2021四川紧急选调/国考备考策略----申论/行测(2020.8.22号开始)
  17. 根据制备方法划分不同的壳聚糖水凝胶
  18. python3表白代码弹窗_抖音整蛊表白电脑弹窗代码大全
  19. keyshot pro 10报许可证(*.lic)对该计算机无效解决办法
  20. 2.应用Android的UI框架

热门文章

  1. md5编码java_MD5编码工具类 MD5Code.java
  2. 使用 spark sql extensions 实现 skew join
  3. 解决Android Studio无法下载
  4. 50道MySQL面试题,掌握之后你将获得无上法力,一发不可收拾!
  5. Java面试题及答案2019版(下),mysql事务隔离级别原理
  6. 春季养生知识多 吃萝卜可预防上火
  7. DB2数据库开发工具:DBVisualizer
  8. Oauth 第三方授权登陆 facebook google twitter instagram
  9. 新手如何在Git Hub上学习开源项目+社交
  10. 微信小程序引用Vant组件库message: 没有找到可以构建的 NPM 包,请确认需要参与构建的 npm 都在 `miniprogramRoot` 目录内...