种机制,使用一种类似于SQL的语言(称为HiveQL)来组织数据和对数据进行查询。同时,这种语言也允许传统的map/reduce程序员以插件的形式编写自定义的mapper和reducer来处理用HiveQL不方便或无法编写的逻辑。Р3Р目录Р4Р1РHive简介Р2Р2Р结构与功能介绍Р4Р3Р适用场景Р13Р4Р部署与简单操作Р40Р5Р问题指南Р22РHive的技术架构Р5Р客户端组件Рmand line interface,命令行接口。?Thrift客户端:上面的架构图里没有写上Thrift客户端,但是hive架构的许多客户端接口是建立在thrift客户端之上,包括JDBC和ODBC接口。?WEBGUI:hive客户端提供了一种通过网页的方式访问hive所提供的服务。这个接口对应hive的hwi组件(hive web interface),使用前要启动hwi服务。Р7РHive执行流程Р8РHive的SQL用MR实现Р9РpageidРageР1Р25Р2Р25Р1Р32Р2Р25РpageidРageРcountР1Р25Р1Р2Р25Р2Р1Р32Р1Рpv_usersРSelect pageid,age,count(1) from pv_users group by pageid,id;РMR实现过程Р10РpageidРageР1Р25Р2Р25РpageidРageР1Р32Р2Р25РkeyРvalueР<1,32>Р1Р<2,25>Р1РkeyРvalueР<1,25>Р1Р<2,25>Р1РkeyРvalueР<2,25>Р1Р<2,25>Р1РkeyРvalueР<1,25>Р1Р<1,32>Р1РkeyРvalueРcountР2Р25Р2РkeyРvalueРcountР1Р25Р1Р1Р32Р1РmapРreduceРShuffer? Sort