hive mysql hdfs关系_hive 数据仓库中 mysql,hive,hdfs,mapreduce 之间的关系

Hive作为数据仓库工具,其元数据存储在MySQL中,数据实际存储在HDFS上。Hive通过SQL将查询转换为MapReduce任务在Hadoop集群上执行,适合批处理和OLAP,不支持事务和实时更新。Hive创建的表信息存储在MySQL的hive数据库中,用于管理数据的切分、格式和位置等信息。
摘要由CSDN通过智能技术生成

交流中发现很多hive转行的开发者都不是特别清楚,hive既然是数据仓库,那为什么还需要mysql数据库,还需要hdfs呢,熟悉三者之间的关系是作为一个合格的hive数据仓库开发者必须掌握的技能

通俗理解:mysql 是 资源库的角色。hive不也是属于数据仓库嘛,他的数据文件是放在HDFS上,但是他的配置信息是放在资源库上,也就是mysql。比如说表结构等等。相当于'后宫',我是这么理解的。hive统称配置信息为 元数据

一.什么是Hive与其特点

官网介绍:The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL 。 也就是说:hive数据仓库软件使用sql读取、写入和管理驻留在分布式存储中的大型数据集。说明Hive的开发语言是SQL,而实际我们常见的分布式计算框架也就spark,MapReduce,Storm等,那么Hive如何使用SQL语言去进行分布式计算呢?

1.1Hive可以看做是MapReduce的客户端

因为Hive的底层运算是MapReduce计算框架,Hive只是将可读性强,容易编程的SQL语句通过Hive软件转换成MR程序在集群上执行。hive可以看做mapreduce客户端,能用mapreduce程序完成的任务基本都可以对应的替换成hql(Hive SQL)编写的hive任务。所以因为hadoop和hdfs的本身设计的特点,也限制了hive所能胜任的工作特性。Hive最大的限制特点就是不支持基于行记录的更新,删除,增加。但是用户可以通过查询生成新表,或者将查询结果导入文件中

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值