wordpress支付插件安全,郑州seo,线上营销课程,cpv广告联盟Hive简介 Hive最初是Facebook为了满足对海量社交网络数据的管理和机器学习的需求而产生和发展的。互联网现在进入了大数据时代#xff0c;大数据是现在互联网的趋势#xff0c;而hadoop就是大数据时代里的核心技术#xff0c;但是hadoop的mapreduce操作专业性太强#xff0…Hive简介 Hive最初是Facebook为了满足对海量社交网络数据的管理和机器学习的需求而产生和发展的。互联网现在进入了大数据时代大数据是现在互联网的趋势而hadoop就是大数据时代里的核心技术但是hadoop的mapreduce操作专业性太强所以facebook在这些基础上开发了hive框架毕竟世界上会sql的人比会java的人多的多hive可以说是学习hadoop相关技术的一个突破口。那么hive是什么呢? 一、概述
Hive是建立在 Hadoop 上的数据仓库基础构架。
它提供了一系列的工具可以用来进行数据提取转化加载ETL这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。
Hive 定义了简单的类 SQL 查询语言称为 HQL它允许熟悉 SQL 的用户查询数据。同时这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。可以将SQL 查询转换为MapReduce 的job 在Hadoop集群上执行。
简单的说hive是基于hadoop的数据仓库。那么为什么说hive是基于Hadoop的呢
之所以说hive是构建在Hadoop之上的数据仓库简单的说是因为
数据存储在hdfs上数据计算用mapreduce
二、Hive常见的应用场景
1、日志分析大部分互联网公司使用hive进行日志分析包括百度、淘宝等。
统计网站一个时间段内的pv、uv多维度数据分析
2、海量结构化数据离线分析
三、Hive的特点优缺点
1、hive的优点
1)、简单容易上手提供了类SQL查询语言HQL
2)、可扩展为超大数据集设计了计算/扩展能力MR作为计算引擎HDFS作为存储系统
一般情况下不需要重启服务Hive可以自由的扩展集群的规模。
3)、提供统一的元数据管理
4)、延展性Hive支持用户自定义函数用户可以根据自己的需求来实现自己的函数
5)、容错良好的容错性节点出现问题SQL仍可完成执行
2、hive的缺点局限性
1、hive的HQL表达能力有限
迭代式算法无法表达比如pagerank数据挖掘方面比如kmeans
2、hive的效率比较低
hive自动生成的mapreduce作业通常情况下不够智能化hive调优比较困难粒度较粗hive可控性差
四、Hive和数据库的异同
由于Hive采用了SQL的查询语言HQL因此很容易将Hive理解为数据库。其实从结构上来看Hive和数据库除了拥有类似的查询语言再无类似之处。数据库可以用在Online的应用中但是Hive是为数据仓库而设计的清楚这一点有助于从应用角度理解Hive的特性。
Hive和数据库的比较如下表 MapReduce 开发人员可以把自己写的 Mapper 和 Reducer 作为插件支持 Hive 做更复杂的数据分析。 它与关系型数据库的 SQL 略有不同但支持了绝大多数的语句如 DDL、DML以及常见的聚合函数、连接查询、条件查询等操作。 Hive 不适合用于联机(online) 事务处理也不提供实时查询功能。它最适合应用在基于大量不可变数据的批处理作业。Hive的特点是可 伸缩在Hadoop 的集群上动态的添加设备可扩展、容错、输入格式的松散耦合。Hive 的入口是DRIVER 执行的SQL 语句首先提交到 DRIVER 驱动然后调用 COMPILER 解释驱动 最终解释成 MapReduce 任务执行最后将结果返回。