hive是hadoop的延申。
hadoop是一个分布式的软件处理框架,hive是一个提供了查询功能的数据仓库,而hadoop底层的hdfs为hive提供了数据存储。
hive将用户提交的SQL解析成mapreduce任务供hadoop直接运行,结合两者的优势,进行数据决策。一个擅长大数据并行计算,一个支持SQL数据查询,方便是显而易见的。但hive只要还是读操作
有了Hive之后,人们发现SQL对比Java有巨大的优势。一个是它太容易写了。刚才词频的东西,用SQL描述就只有一两行,MapReduce写起来大约要几十上百行。
Hive逐渐成长成了大数据仓库的核心组件。甚至很多公司的流水线作业集完全是用SQL描述,因为易写易改,一看就懂,容易维护。
扩展资料
hadoop和hive之间的区别:
1、Hive不存储数据,Hive需要分析计算的数据,以及计算结果后的数据实际存储在分布式系统上,如HDFS上。
2、Hive某种程度来说也不进行数据计算,只是个解释器,只是将用户需要对数据处理的逻辑,通过SQL编程提交后解释成MapReduce程序,然后将这个MR程序提交给Yarn进行调度执行。所以实际进行分布式运算的是MapReduce程序
3、因为Hive为了能操作HDFS上的数据集,那么他需要知道数据的切分格式,如行列分隔符,存储类型,是否压缩,数据的存储地址等信息。
为了方便以后操作所以他需要将这些信息通过一张表存储起来,然后将这张表(元数据)存储到mysql中。为了啥存储到mysql里(实际是远程mysql),因为hive本身就是一个解释器,所以他不存储数据。
hive是hadoop的延申。
hadoop是一个分布式的软件处理框架,hive是一个提供了查询功能的数据仓库,而hadoop底层的hdfs为hive提供了数据存储。
hive将用户提交的SQL解析成mapreduce任务供hadoop直接运行,结合两者的优势,进行数据决策。一个擅长大数据并行计算,一个支持SQL数据查询,方便是显而易见的。但hive只要还是读操作
有了Hive之后,人们发现SQL对比Java有巨大的优势。一个是它太容易写了。刚才词频的东西,用SQL描述就只有一两MapReduce写起来大约要几十上百行。
扩展资料:
它主要有以下几个优点 :
1、高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖 。
2、高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中 。
3、高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
4、高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
低成本。与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低 。
Hadoop带有用Java语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,比如 C++ 。
hive是Hadoop的一个组件,作为数据厂库,hive的数据是存储在Hadoop的文件系统中的,hive为Hadoop提供SQL语句,是Hadoop可以通过SQL语句操作文件系统中的数据。hive是依赖Hadoop而存在的。
hadoop:一个大脑加一个口袋构成一个单体,大脑负责计算数据,口袋负责存储数据。多个单体构成集群。hive:使用HiveQL语句,将其转化成MapReduce任务,让多个大脑同时计算存储在多个口袋里的数据。
hive是建立在hadoop之上的一个工具,用于简化一些BI统计。Hive能够帮助用户屏蔽掉复杂的mapreduce逻辑,而只需用户使用简单sql即可完成一定的查询功能