浅谈Hive的功用性
来源:互联网 发布:手机打铃软件 编辑:程序博客网 时间:2024/04/27 21:44
以下是我通过查阅一些资料和博客所得出的对hive的个人见解,如果雷同,请见谅,如有意见或建议,请大胆提出,必虚心学习。
Q: hive是什么
A: Hive 是基于 Hadoop 构建的一套数据仓库分析系统,是数据挖掘的一个工具(利用mapreduce挖掘hdfs上的数据)。Q: hive能做什么
A: 它提供了一系列的工具,可以用来进行数据提取转化加载(ETL)。它也是一种可以存储、查询和分析存储在 hadoop中的大规模数据的机制。可以处理的数据有:关系型数据库(结构性)、本地数据、hdfs数据(非结构化的数据);
Q: hive作为数据仓库的优点
A: 大数据的保存、分析计算、一次写入多次读取。Hive定义了简单的类 SQL 查询语言,称为 QL ,它允许熟悉SQL 的用户查询数据。同时,这个语言也允许熟悉MapReduce 开发者的开发自定义的mapper 和 reducer 来处理内建的 mapper 和reducer 无法完成的复杂的分析工作。
Q:为什么要用hive做数据库
A: 因为传统数据仓库无法满足快速增长的海量数据存储需求,传统数据仓库基于关系型数据库,横向扩展性较差,纵向扩展有限,也无法处理不同类型的数据,传统数据仓库只能存储结构化数据,计算和处理能力不足。而基于MapReduce的Hive尤其在扩展性和容错性具有很强的优势。
Hive很容易扩展自己的存储能力和计算能力,最适合应用在基于大量不可变数据的批处理作业,例如网络日志等数据量大、静态的数据查询。Hive 要访问数据中满足条件的特定值时,需要暴力扫描整个数据,因此访问延迟较高。由于 MapReduce 的引入, Hive 可以并行访问数据,因此即使没有索引,对于大数据量的访问,Hive 仍然可以体现出优势。
Q: hive是怎么把存在MySQL下的元数据组合起来的
A: Hive通过metastoreServer和mysql数据库进行通信,利用hive-site.xml里面配置的数据库ip,端口,用户名,密码连接并登录到mysql.创建hive的元数据表。应该就可以做到MySQL功能中的本地连接,访问,下载数据了。跟使用JDBC访问数据库一样。
Q: 如果没有mysql,用hive做数据仓库的原因
A: hive支持jdbc和odbc数据源连接,可以连接很多种数据库,mysql、oracle等等,就算没有MySQL,还可以连接其他数据库。
Hive的特点
1、简单容易入手
2、它是为超大数据集而设计的计算和扩展能力
3、提供统一的元数据管理
Hive的缺点
1、Hive的HQL的表达能力有限
1)迭代式算法无法表达,比如pagerank。
2)数据挖掘方面,比如kmeans。
2、Hive的效率比较低
1)hive自动生成的MapReduce作业,通常情况下不够智能化。
2)hive调优比较困难
3)hive可控性比较差
阅读全文
0 0
- 浅谈Hive的功用性
- 浅谈太极拳的健身功用
- META的一些功用
- META的一些功用
- PageBaseType属性的功用
- 老人家的功用
- 跳绳的健身功用
- mybatis的selectKey功用
- sprintf的强大功用
- screen的功用
- 头发的功用
- mybatis的selectKey功用
- 浅谈 hive 的结构
- CGContextSaveGState与CGContextRestoreGState的功用
- Regsvr32和regserver的功用
- hive的数据存储浅谈
- hive入门学习:浅谈hive的常见优化策略
- 小结 vsftp、nfs的功用及意义
- html页面中的Viewport设置
- CTF web题总结--绕过正则表达式
- 推荐一些学习网站
- Android7.0升级安装APK,FileUriExposedException问题
- Unity UI系统-NGUI-基本组件(二)
- 浅谈Hive的功用性
- 每日一则JavaWeb---Spring的ApplicationEventPublisher的作用
- css hack
- Qt5 安装mysql驱动
- 数据结构之最短路问题
- Python3之字符打印颜色
- SpringBoot前后端传送文件问题
- 刷题-NOIP历年真题
- Add Two Numbers 两个链表相加 python