- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hive 知识点总结
Hive 知识点总结摘要: Hive 是建立在Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在Hadoop 中的大规模数据的机制。Hive定义了简单的类SQL查询语言,称为QL,它允许熟悉SQL 的用户查询数据。同时,这个语言也允许熟悉MapReduce 开发者的开发自定义的mapper 和reducer 来处理内建的mapper 和reducer 无法完成的复杂的分析工作。1. HIVE结构 Hive 是建立在Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在Hadoop 中的大规模数据的机制。Hive定义了简单的类SQL查询语言,称为QL,它允许熟悉SQL 的用户查询数据。同时,这个语言也允许熟悉MapReduce 开发者的开发自定义的mapper 和reducer 来处理内建的mapper 和reducer 无法完成的复杂的分析工作。1.1 HIVE架构Hive 的结构可以分为以下几部分: · 用户接口:包括CLI, Client, WUI · 元数据存储。通常是存储在关系数据库如mysql, derby中 · 解释器、编译器、优化器、执行器 · Hadoop:用HDFS 进行存储,利用MapReduce进行计算 1、用户接口主要有三个:CLI,Client和WUI。其中最常用的是CLI,Cli启动的时候,会同时启动一个Hive副本。Client是Hive的客户端,用户连接至Hive Server。在启动Client 模式的时候,需要指出Hive Server 所在节点,并且在该节点启动Hive Server。WUI 是通过浏览器访问Hive。 2、Hive 将元数据存储在数据库中,如mysql、derby。Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。 3、解释器、编译器、优化器完成HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在HDFS 中,并在随后有MapReduce 调用执行。 4、Hive的数据存储在HDFS 中,大部分的查询由MapReduce完成(包含* 的查询,比如select * from tbl 不会生成MapRedcue 任务)。1.2 Hive和Hadoop关系 Hive构建在Hadoop 之上, · HQL中对查询语句的解释、优化、生成查询计划是由Hive完成的 · 所有的数据都是存储在Hadoop中 · 查询计划被转化为MapReduce任务,在Hadoop中执行(有些查询没有MR任务,如:select * from table) · Hadoop和Hive都是用UTF-8编码的1.3 Hive和普通关系数据库的异同?HiveRDBMS查询语言HQLSQL数据存储HDFSRaw Device or Local FS索引无有执行MapReduceExcutor执行延迟高低处理数据规模大小 1. 查询语言。由于SQL 被广泛的应用在数据仓库中,因此,专门针对Hive的特性设计了类SQL的查询语言HQL。熟悉SQL 开发的开发者可以很方便的使用Hive 进行开发。 2. 数据存储位置。Hive 是建立在Hadoop 之上的,所有Hive 的数据都是存储在HDFS中的。而数据库则可以将数据保存在块设备或者本地文件系统中。 3. 数据格式。Hive 中没有定义专门的数据格式,数据格式可以由用户指定,用户定义数据格式需要指定三个属性:列分隔符(通常为空格、”\t”、”\x001″)、行分隔符(”\n”)以及读取文件数据的方法(Hive中默认有三个文件格式TextFile,SequenceFile以及RCFile)。由于在加载数据的过程中,不需要从用户数据格式到Hive 定义的数据格式的转换,因此,Hive在加载的过程中不会对数据本身进行任何修改,而只是将数据内容复制或者移动到相应的HDFS目录中。而在数据库中,不同的数据库有不同的存储引擎,定义了自己的数据格式。所有数据都会按照一定的组织存储,因此,数据库加载数据的过程会比较耗时。 4. 数据更新。由于Hive是针对数据仓库应用设计的,而数据仓库的内容是读多写少的。因此,Hive中不支持对数据的改写和添加,所有的数据都是在加载的时候中确定好的。而数据库中的数据通常是需要经常进行修改的,因此可以使用INSERT INTO … VALUES 添加数据,使用UPDATE… SET 修改数据。 5. 索引。之前已经说过,Hive在加载数据的过程中不会对数据进行任何处理
有哪些信誉好的足球投注网站
文档评论(0)