Hive 是一个基于 hadoop 的开源数据仓库工具,用于存储和处理海量结构化数据。基于hadoop构建的数据仓库基础架构,通过提供一系列的工具,使得用户能够方便的做数据ETL,数据结构化,并针对存放在hadoop上的海量数据进行查询和分析。我们可以把 Hive 中海量结构化数据看成一个个的表,而实际上这些数据是分布式存储在 HDFS 中的。它把海量数据存储于 hadoop 文件系统,而不是数据库,但提供了一套类数据库的数据存储和处理机制,并采用 HQL语言对这些数据进行自动化管理和处理。面对海量的结构化数据、Hive 以较低的成本完成了以往需要大规模数据库才能完成的任务,并且学习门槛相对较低,应用开发灵活而高效。hive的工作模式是:提交一个任务,等到任务结束时被通知,而不是实时查询。相对应的是,类似于oracle这样的系统当运行于小数据集的时候,响应非常快,可当处理的数据集非常大的时候,可能需要数小时。需要说明的是,hive即使在很小的数据集上运行,也可能需要数分钟才能完成。它提供了类似于SQL语法的HQL语句作为数据访问接口,这使得普通分析人员的应用Hadoop的学习曲线变缓。hadoop是批处理系统,不能保存低延迟,因此,hive的查询也不能保证低延迟。Hive 经过对语句进行解析和转换,最终生成一系列基于 hadoop 的 map、reduce 任务,通过执行这些任务完成数据处理。
【深入浅出Hive企业级架构优化、Hive Sql优化、压缩和分布式缓存(企业Hadoop应用核心产品)】作为企业Hadoop应用的核心产品,Hive承载着FaceBook、淘宝等大佬 95%以上的离线统计,很多企业里的离线统计甚至全由Hive完成,如我所在的电商。Hive在企业云计算平台发挥的作用和影响愈来愈大,如何优化提速已经显得至关重要。Hive作业的规模决定着优化层级,一个Hive作业的优化和一万的Hive作业的优化截然不同。拥有1万多个Hive作业的大电商如何进行Hive优化的?本系列课结合企业实战和场景从作业架构层面、Hql(Hive sql)语法层面、Hive参数层面依次讲述。当然,好的架构胜过任何优化,有哪些策略构建好Hive Job架构?好的Hql同样会效率大增,如何写出高效的Hql?修改Hive参数,有时也能起到很好的效果
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29212814/viewspace-1063434/ ,如需转载,请注明出处,否则将追究法律责任。