《商务智能技术应用》课件——04-数据仓库工具Hive.pptxVIP

《商务智能技术应用》课件——04-数据仓库工具Hive.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

;;Hadoop是一个由Apache基金会所开发的分布式系统基础架构。

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce为海量的数据提供了计算。;Hive是一个基于Hadoop的数据仓库工具,用于对Hadoop文件中的数据集进行数据整理、特殊查询和分析存储。

Hive是一个翻译器:SQL---Hive引擎---MapReduce程序

Hive是构建在HDFS上的一个数据仓库(DataWarehouse)

Hive支持SQL(部分支持,并非全部);Hive体系结构主要包含用户接口,元数据存储,Hive驱动器,Hadoop集群这几个部分。;Hive利用HDFS存储数据,利用MapReduce查询分析数据。;Hive的设计特点;Hive在很多方面和传统数据库类似,但是其底层对HDFS和MapReduce的依赖意味着它的体系结构有别于传统数据库。;Hive的设计目标是,通过类SQL的语言实现在大规模数据集上快速的数据查询等操作,而不需要开发相应的MapReduce程序,所以Hive特别适合数据仓库的统计分析。

Hive构建在基于静态批处理的Hadoop之上,Hadoop通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销,因此Hive并不适合那些需要低延迟的应用。;Hive的内置数据类型分为两大类,一个是基本数据类型,另一个是集合数据类型。基础类型包括INT、BOOLEAN、FLOAT、DOUBLE、STRING、CHAR、VARCHAR、DATE等,集合类型包括ARRAY、MAP、STRUCT、UNION。;Hive文件通常存储在HDFS上,存储格式也是Hadoop通用的数据格式,主要包含TEXTFILE、SequenceFile、RCFile、ORCFile、Parquet、Avro这几种格式的文件,当然也可以自定义文件类型。;Hive为了更好支持大规模数据分析,默认使用了几个很少出现在字段值中的控制字符,而不是逗号、制表符这类常用的分隔符。下表为Hive中默认的记录和字段分隔符。;Hive的数据模型分为托管表、外部表、分区表、桶表、视图。;Hive托管表也称为内部表,它与数据库中的Table在概念上是类似,每一个Table在Hive中都有一个相应的目录存储数据,所有的Table数据都保存在这个目录中,删除表时,元数据与数据都会被删除。;外部表则指向已经在HDFS中存在的数据,可以创建Partition。它和内部表在元数据的组织上是相同的,而实际数据的存储则有较大的差异,因为外部表加载数据和创建表同时完成,并不会移动到数据仓库目录中,只是与外部数据建立一个链接。当删除一个外部表时,仅删除该链接。;在HiveSelect查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作。有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念。分区表指的是在创建表时指定的partition的分区空间。;对于每一个表(table)或者分区,Hive可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分。Hive也是针对某一列进行桶的组织。Hive采用对列值哈希,然后除以桶的个数求余的方式决定该条记录存放在哪个桶当中。;在Hive中,创建视图时并不把视图物化存储到磁盘上。相反,视图的SELECT语句中只是在执行引用视图的语句时才执行。;HiveQL是一种类似SQL的语言,它与大部分的SQL语法兼容,但是并不完全支持SQL标准,本节主要介绍Hive常用的HiveQL操作。;查看所有数据库名:showdatabases;

查看所有表名:showtables;

查看以ad开头的表名:showtablesad*;

查看表结构(表名为emp):descemp;;创建普通托管表:createtableemp_tg(idint,namestring);

创建普通托管表,并指定文件分隔符:createtableemp_tg(idint,namestring)rowformatdelimitedfieldsterminatedby\t;

创建外部表,同时指定文件路径:createexternaltableemp_wb(idint,namestring)location/emp;

创建分区表:createtableemp_fq(idint,namestring)?partitionedby(citystring);

创建桶表前,需要需要设置“hive.enforce.bucketing”属性为true,使Hive能够识别桶

您可能关注的文档

文档评论(0)

青柠职教 + 关注
实名认证
服务提供商

从业10年,专注职业教育专业建设,实训室建设等。

1亿VIP精品文档

相关文档