Hive基础与编程合编.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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语言提供使用者部分传统RDBMS一样的表格查询特性和分布式存储计算特性; 其优点是学习成本低,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。 主题一:Hive简介 Hive不是什么 Hive运算基于Hadoop的MapReduce模型,MapReduce不能保证低延迟。因此,hive的查询也不能保证低延迟。 Hive的工作模式是:提交一个任务,等到任务结束时被通知,而不是实时查询。相对应的是,类似于Oracle这样的系统当运行小数据集的时候,响应非常快,可当处理的数据集非常大的时候,可能需要数小时。需要说明的是,hive即使在很小的数据集上运行,也可能需要数分钟才能完成。 总之,低延迟不是hive追求的首要目标。Hive的设计目标是:可伸缩、可扩展、容错及输入格式松耦合。 主题一:Hive简介 Hive与传统数据库的异同 查询语言 HQL SQL 数据存储位置 HDFS Raw Device(裸设备)或者Local FS 数据格式 用户定义 系统决定 数据更新 不支持 支持 索引 有 有 执行 MapReduce Executor 分区 支持 支持 执行延迟 高 低 可扩展性 高 低 数据规模 大 小 数据检查 读时模式 写时模式 主题一:Hive简介 Hive架构 主要分为以下几个部分: 用户接口 主要有三个:CLI,Client 和 WUI 元数据存储 Hive 将元数据存储在数据库中,如 oracle、mysql、derby等 解释器、编译器、优化器、执行器 完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成 Hadoop Hive 的数据存储在 HDFS 中,大部分的查询由 MapReduce 完成 主题一:Hive简介 Hive开发语言 Hive提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,通常称之为:HQL 不支持: INSERT……VALUES、UPDATE和DELETE等操作 BEGIN、COMMIT和ROLLBACK等操作 主题二:Hive开发工具 命令行接口方式 Web接口方式 Thrift Server方式 主题二:Hive开发工具 命令行接口方式 示例 HQL语句:select a.acc_nbr from tb_mid_serv_day a $HIVE_HOME/bin/hive -e select a.acc_nbr from tb_mid_serv_day a‘ 使用静音模式执行HQL $HIVE_HOME/bin/hive -S -e select a.col from tab1 a 主题二:Hive开发工具 Web接口方式 Hive的web界面:HWI HWI是Hive Web Interface的简称,是hive cli的一个web替换方案。 HWI与CLI对比的优缺点: 优点:HWI支持浏览器的方式浏览,方便直观。 缺点:无执行过程提示。 主题二:Hive开发工具 Thrift Server方式 Toad For Cloud Cloudera Hue Eclipse IDE Squirrle SQL 主题三:Hive的表 Hive表 hive的表逻辑上由存储的数据和描述表格中的数据形式的相关元数据组成。 Hive里的表有两种类型一种叫普通表,一种叫外部表。 普通表与外部表的区别: (1)创建外部表的时候table之前要加关键字external (2)在做drop操作时(drop是hive删除表的命令),普通表执行drop命令的时候,会删除元数据和存储的数据,而外部表执行drop命令时候只删除元数据库里的数据,而不会删除存储的数据。 主题三:Hive的表 创建Hive表实例 创建普通表实例 create table normal_table ( col1 string, col2 string col3 string); 创建外部表实例 create external table external_table ( col1 string, col2 string col3 string); 主

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档