欢迎来到天天文库
浏览记录
ID:21897369
大小:419.32 KB
页数:58页
时间:2018-10-20
《Hive基础与编程编写.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Hive基础与编程2014年中国电信大数据技术与应用培训2014年06月江西电信大数据支撑团队目录1、Hive简介2、Hive开发工具3、Hive的表4、Hive的元数据5、Hive分区6、Hive编程7、HiveQL优化8、HiveSQL与SQL的比较9、Hive的用户自定义函数主题一:Hive简介Hive是什么?Hive是基于Hadoop的一个数据仓库工具;使用hadoop-hdfs作为数据存储层;通过hadoop-mapreduce完成数据计算,提供类似SQL的语言(HQL);通过HQL语言提供
2、使用者部分传统RDBMS一样的表格查询特性和分布式存储计算特性;其优点是学习成本低,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。主题一:Hive简介Hive不是什么Hive运算基于Hadoop的MapReduce模型,MapReduce不能保证低延迟。因此,hive的查询也不能保证低延迟。Hive的工作模式是:提交一个任务,等到任务结束时被通知,而不是实时查询。相对应的是,类似于Oracle这样的系统当运行小数据集的时候,响应非常快,可当处理的数据集非常大的时候,可能需要数小时。
3、需要说明的是,hive即使在很小的数据集上运行,也可能需要数分钟才能完成。总之,低延迟不是hive追求的首要目标。Hive的设计目标是:可伸缩、可扩展、容错及输入格式松耦合。主题一:Hive简介Hive与传统数据库的异同查询语言HQLSQL数据存储位置HDFSRawDevice(裸设备)或者LocalFS数据格式用户定义系统决定数据更新不支持支持索引有有执行MapReduceExecutor分区支持支持执行延迟高低可扩展性高低数据规模大小数据检查读时模式写时模式主题一:Hive简介Hive架构主要分为
4、以下几个部分:用户接口主要有三个:CLI,Client和WUI元数据存储Hive将元数据存储在数据库中,如oracle、mysql、derby等解释器、编译器、优化器、执行器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成HadoopHive的数据存储在HDFS中,大部分的查询由MapReduce完成主题一:Hive简介Hive开发语言Hive提供了丰富的SQL查询方式来分析存储在Hadoop分布式文件系统中的数据,通常称之为:HQL不支持:INSERT……VALUES、UPDAT
5、E和DELETE等操作BEGIN、COMMIT和ROLLBACK等操作主题二:Hive开发工具命令行接口方式Web接口方式ThriftServer方式主题二:Hive开发工具命令行接口方式示例HQL语句:'selecta.acc_nbrfromtb_mid_serv_daya'$HIVE_HOME/bin/hive-e'selecta.acc_nbrfromtb_mid_serv_daya‘使用静音模式执行HQL$HIVE_HOME/bin/hive-S-e'selecta.colfromtab1a'
6、主题二:Hive开发工具Web接口方式Hive的web界面:HWIHWI是HiveWebInterface的简称,是hivecli的一个web替换方案。HWI与CLI对比的优缺点:优点:HWI支持浏览器的方式浏览,方便直观。缺点:无执行过程提示。主题二:Hive开发工具ThriftServer方式ToadForCloudClouderaHueEclipseIDESquirrleSQL主题三:Hive的表Hive表hive的表逻辑上由存储的数据和描述表格中的数据形式的相关元数据组成。Hive里的表有两种
7、类型一种叫普通表,一种叫外部表。普通表与外部表的区别:(1)创建外部表的时候table之前要加关键字external(2)在做drop操作时(drop是hive删除表的命令),普通表执行drop命令的时候,会删除元数据和存储的数据,而外部表执行drop命令时候只删除元数据库里的数据,而不会删除存储的数据。主题三:Hive的表创建Hive表实例创建普通表实例createtablenormal_table(col1string,col2stringcol3string);创建外部表实例createexte
8、rnaltableexternal_table(col1string,col2stringcol3string);主题三:Hive的表Hive中创建HBase外部表Hive与HBase利用两者本身对外的API来实现整合。Hive访问HBase中表数据,实质上是通过MapReduce读取HBase表数据。主题四:Hive的元数据Hive元数据Hive的数据分为表数据和元数据。元数据的存储Hive将元数据存储在RDBMS中,可以支持Derby,Mysql,O
此文档下载收益归作者所有