Hive(2)和mysql的不同
什么是Hive:
基于Hadoop的一个数据仓库工具
,可以将结构化的数据文件映射成为一张数据库表。
数据结构:
结构化的数据:字段个数一定,字段之间的分隔符一定
半结构化的数据:例如xml,json等
非结构化的数据:没有任何规律格式的数据
hive底层的数据存储都是使用HDFS,数据的统计计算都是使用的MapReduce,
hive一些特点:
可扩展:扩展的是我们的hadoop集群
延展性:支持用户的自定义函数(就是写一个MapReduce)
容错性:良好的容错 ,即使节点出现问题了,hql语句也可以完成
Hive的架构
hive的架构:
用户接口:主要是为了我们编辑sql语句,然后提交给hive
解析器:包含三大块:
编译器:主要将我们的sql语句进行编译成一个MR的任务
优化器:主要是对我们的sql语句进行优化
执行器:提交mr的任务,进行执行
元数据库:hive的元数据 表与hdfs数据之间的映射关系 默认使用的是derby,一般都会改成mysql
Hive与Hadoop的关系
Hive利用HDFS存储数据,利用MapReduce查询分析数据