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

帝国建站软件制作天下网站

帝国建站软件,制作天下网站,中企动力科技股份有限公司大连分公司,游戏推广员1、Apache Hive 概述 1.1、分布式SQL计算 对数据进行统计分析,SQL是目前最为方便的编程工具。 大数据体系中充斥着非常多的统计分析场景 所以,使用SQL去处理数据,在大数据中也是有极大的需求的。 MapReduce支持程序开发(Java…

1、Apache Hive 概述

1.1、分布式SQL计算

对数据进行统计分析,SQL是目前最为方便的编程工具。

大数据体系中充斥着非常多的统计分析场景
所以,使用SQL去处理数据,在大数据中也是有极大的需求的。
在这里插入图片描述

MapReduce支持程序开发(Java、Python等)
但不支持SQL开发
在这里插入图片描述

1.2、分布式SQL计算 - Hive

Apache Hive是一款分布式SQL计算的工具, 其主要功能是:

  • 将SQL语句 翻译成MapReduce程序运行
  • 基于Hive为用户提供了分布式SQL计算的能力
    写的是SQL、执行的是MapReduce。

在这里插入图片描述

1.3、为什么使用Hive

使用Hadoop MapReduce直接处理数据所面临的问题

  • 人员学习成本太高 需要掌握java、Python等编程语言。
  • MapReduce实现复杂查询逻辑开发难度太大 。

使用Hive处理数据的好处

  • 操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)。
  • 底层执行MapReduce,可以完成分布式海量数据的SQL处理。

2、模拟实现Hive功能

如果让您设计Hive这款软件,要求能够实现

  • 用户只编写sql语句
  • Hive自动将sql转换MapReduce程序并提交运行
  • 处理位于HDFS上的结构化数据。

如何实现?

2.1、元数据管理

假设有如下结构化文本数据存储在HDFS中。
在这里插入图片描述

假设要执行: SELECT city, COUNT(*) FROM t_user GROUP BY city;

对这个SQL翻译成MapReduce程序,会出现哪些困难?

针对SQL:SELECT city, COUNT(*) FROM t_user GROUP BY city;若翻译成MapReduce程序,有如下问题:

  • 数据文件在哪里?
  • 使用什么符号作为列的分隔符?
  • 哪些列可以作为city使用?
  • city列是什么类型的数据?

在这里插入图片描述
在这里插入图片描述

所以,我们可以总结出来第一个点, 即构建分布式SQL计算, 需要拥有:元数据管理功能,即:

  • 数据位置
  • 数据结构
  • 等对数据进行描述

2.2、解析器

解决了元数据管理后,我们还有一个至关重要的步骤, 即完成SQL到MapReduce转换的功能。
在这里插入图片描述

我们称呼它为:SQL解析器,期待它能做到:

  • SQL分析。
  • SQL到MapReduce程序的转换。
  • 提交MapReduce程序运行并收集执行结果。

2.3、基础架构

所以,当解析器也拥有了之后,我们就完成了一款基于MapReduce的,分布式SQL执行引擎的基础构建。

即,核心组件需要有:

  • 元数据管理,帮助记录各类元数据。
  • SQL解析器,完成SQL到MapReduce程序的转换。
    在这里插入图片描述

当拥有这2个组件, 基本上分布式SQL计算的能力就实现了。

2.4、ive架构

Apache Hive其2大主要组件就是:SQL解析器以及元数据存储, 如下图。
在这里插入图片描述

3、Hive基础架构

3.1、Hive架构图

在这里插入图片描述

3.2、Hive组件

3.2.1、元数据存储

通常是存储在关系数据库如 mysql/derby中。Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。

– Hive提供了 Metastore 服务进程提供元数据管理功能
在这里插入图片描述

3.2.2、Driver驱动程序,包括语法解析器、计划编译器、优化器、执行器

完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在 HDFS 中,并在随后有执行引擎调用执行。

这部分内容不是具体的服务进程,而是封装在Hive所依赖的Jar文件即Java代码中。
在这里插入图片描述

3.2.3、用户接口

包括 CLI、JDBC/ODBC、WebGUI。其中,CLI(command line interface)为shell命令行;Hive中的Thrift服务器允许外部客户端通过网络与Hive进行交互,类似于JDBC或ODBC协议。WebGUI是通过浏览器访问Hive。

– Hive提供了 Hive Shell、 ThriftServer等服务进程向用户提供操作接口。
在这里插入图片描述

结束!!!!!!!
hy:38


											低级的快乐来自放纵,高级的快乐来自克制。
http://www.yayakq.cn/news/468939/

相关文章:

  • 网站后台开发需求网站不符合个人备案性质
  • 进入淘宝官网网站镇江怎么样
  • 建设机械员证书查询网站百度问答官网
  • 企业网站建设所需要的资料网页设计的规格
  • 织梦网站首页空白湖南人事考试网
  • 网站开发进度管理表潍坊模板建站定制
  • 网站的内容包括什么在线音乐网站 用什么做
  • 勤哲网站开发视频海口网站运营托管费用
  • 网站建设与维护中职网络推广公司多久能回本
  • 衡水市住房和城乡规划建设网站公司内部网站系统
  • 广州 餐饮 网站建设微网站在哪个平台上搭建好 知乎
  • 云服务器做的网站需要备案网站专题制作流程
  • 网站建设 大公司排名wordpress 文章列表展示插件
  • 建设银行的网站用户名广州app开发
  • 网站注册凡科有wordpress模板安装教程视频
  • 做网站要多少钱汉狮天津seo推广优化
  • 网站301定向青海省西宁市住房城乡建设厅网站
  • 刷网站流量有用吗灰色关键词快速排名
  • 课程设计做淘宝网站的目的自己怎么做网址开网站
  • 公司网站的实例甘肃肃第八建设集团网站
  • 如何用wordpress建一个网站网店管家官网
  • 建网站的步骤是哪些从哪里设置网站关键词
  • 广东网站建设方案报价网址怎么申请
  • 网站seo检测偏门网站建设
  • 息壤网站打不开了每平每家设计家官网
  • 东南亚购物网站排名wordpress对seo友好吗
  • 网站备案信息填写网站建设公司发展
  • 郑州平台网站建设长春市建设集团
  • 苏州专门网站怎么做淘客推广网站
  • 电子商务网站建设的概要设计口碑营销的缺点