重庆网站建设公司销售,如何在iis下建设网站,网络营销的网站分类有,wordpress文章发布专题文章大数据学习
#x1f525;系列专栏#xff1a; #x1f451;哲学语录: 承认自己的无知#xff0c;乃是开启智慧的大门 #x1f496;如果觉得博主的文章还不错的话#xff0c;请点赞#x1f44d;收藏⭐️留言#x1f4dd;支持一下博主哦#x…大数据学习
系列专栏 哲学语录: 承认自己的无知乃是开启智慧的大门 如果觉得博主的文章还不错的话请点赞收藏⭐️留言支持一下博主哦 1.1 什么是Hive
1Hive简介
Hive是由Facebook开源基于Hadoop的一个数据仓库工具可以将结构化的数据文件映射为一张表并提供类SQL查询功能。
那为什么会有Hive呢它是为了解决什么问题而诞生的呢
下面通过一个案例来快速了解一下Hive。
例如需求统计单词出现个数。
1在Hadoop课程中我们用MapReduce程序实现的当时需要写Mapper、Reducer和Driver三个类并实现对应逻辑相对繁琐。
test表
id列
atguiguatguigussssjiaobanzhangxuehadoop
2如果通过Hive SQL实现一行就搞定了简单方便容易理解。
select count(*) from test group by id;
2Hive本质
Hive是一个Hadoop客户端用于将HQLHive SQL转化成MapReduce程序。
1Hive中每张表的数据存储在HDFS
2Hive分析数据底层的实现是MapReduce也可配置为Spark或者Tez
3执行程序运行在Yarn上
1.2 Hive架构原理
1用户接口Client
CLIcommand-line interface、JDBC/ODBC。
说明JDBC和ODBC的区别。
1JDBC的移植性比ODBC好通常情况下安装完ODBC驱动程序之后还需要经过确定的配置才能够应用。而不相同的配置在不相同数据库服务器之间不能够通用。所以安装一次就需要再配置一次。JDBC只需要选取适当的JDBC数据库驱动程序就不需要额外的配置。在安装过程中JDBC数据库驱动程序会自己完成有关的配置。
2两者使用的语言不同JDBC在Java编程时使用ODBC一般在C/C编程时使用。
2元数据Metastore
元数据包括数据库默认是default、表名、表的拥有者、列/分区字段、表的类型是否是外部表、表的数据所在目录等。
默认存储在自带的derby数据库中由于derby数据库只支持单客户端访问生产环境中为了多人开发推荐使用MySQL存储Metastore。
3驱动器Driver
1解析器SQLParser将SQL字符串转换成抽象语法树AST
2语义分析Semantic Analyzer将AST进一步划分为QeuryBlock
3逻辑计划生成器Logical Plan Gen将语法树生成逻辑计划
4逻辑优化器Logical Optimizer对逻辑计划进行优化
5物理计划生成器Physical Plan Gen根据优化后的逻辑计划生成物理计划
6物理优化器Physical Optimizer对物理计划进行优化
7执行器Execution执行该计划得到查询结果并返回给客户端 4Hadoop
使用HDFS进行存储可以选择MapReduce/Tez/Spark进行计算。