(ppt)金融的文稿1 2.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(ppt)金融的文稿1 2

* * Hive 的设计特点 支持索引,加快数据查询。 不同的存储类型,例如,纯文本文件、HBase 中的文件。 将元数据保存在关系数据库中,大大减少了在查询过程中执行语义检查的时间。 可以直接使用存储在Hadoop 文件系统中的数据。 内置大量用户函数UDF 来操作时间、字符串和其他的数据挖掘工具,支持用户扩展UDF 函数来完成内置函数无法实现的操作。 类SQL 的查询方式,将SQL 查询转换为MapReduce 的job 在Hadoop集群上执行。 * hive的技术架构 * hadoop和mapreduce是hive架构 的根基。Hive架构包括如下组 件:CLI(command line interface) 、JDBC/ODBC、Thrift Server、WEB GUI、metastore和Driver(Complier、 Optimizer和Executor),这些组件我 可以分为两大类:服务端组件和客 户端组件。 服务端组件: Driver组件:该组件包括Complier、Optimizer和Executor,它的作用是将我们写的HiveQL(类SQL)语句进行解析、编译优化,生成执行计划,然后调用底层的mapreduce计算框架。 Metastore组件:元数据服务组件,这个组件存储hive的元数据,hive的元数据存储在关系数据库里,hive支持的关系数据库有derby、mysql。元数据对于hive十分重要,因此hive支持把metastore服务独立出来,安装到远程的服务器集群里,从而解耦hive服务和metastore服务,保证hive运行的健壮性,这个方面的知识,我会在后面的metastore小节里做详细的讲解。 Thrift服务:thrift是facebook开发的一个软件框架,它用来进行可扩展且跨语言的服务的开发,hive集成了该服务,能让不同的编程语言调用hive的接口。 * 客户端组件: CLI:command line interface,命令行接口。 Thrift客户端:上面的架构图里没有写上Thrift客户端,但是hive架构的许多客户端接口是建立在thrift客户端之上,包括JDBC和ODBC接口。 WEBGUI:hive客户端提供了一种通过网页的方式访问hive所提供的服务。这个接口对应hive的hwi组件(hive web interface),使用前要启动hwi服务。 * Hive常用优化方法 join连接时的优化:当三个或多个以上的表进行join操作时,如果每个on使用相同的字段连接时只会产生一个mapreduce。 join连接时的优化:当多个表进行查询时,从左到右表的大小顺序应该是从小到大。原因:hive在对每行记录操作时会把其他表先缓存起来,直到扫描最后的表进行计算 在where字句中增加分区过滤器。 当可以使用left semi join 语法时不要使用inner join,前者效率更高。原因:对于左表中指定的一条记录,一旦在右表中找到立即停止扫描。 如果所有表中有一张表足够小,则可置于内存中,这样在和其他表进行连接的时候就能完成匹配,省略掉reduce过程。设置属性即可实现,set hive.auto.covert.join=true; 用户可以配置希望被优化的小表的大小 set hive.mapjoin.smalltable.size=2500000; 如果需要使用这两个配置可置入$HOME/.hiverc文件中。 * * Hive常用优化方法 同一种数据的多种处理:从一个数据源产生的多个数据聚合,无需每次聚合都需要重新扫描一次。 limit调优:limit语句通常是执行整个语句后返回部分结果。set hive.limit.optimize.enable=true; 开启并发执行。某个job任务中可能包含众多的阶段,其中某些阶段没有依赖关系可以并发执行,开启并发执行后job任务可以更快的完成。设置属性:set hive.exec.parallel=true; hive提供的严格模式,禁止3种情况下的查询模式。 a:当表为分区表时,where字句后没有分区字段和限制时,不允许执行。 b:当使用order by语句时,必须使用limit字段,因为order by 只会产生一个reduce任务。 c:限制笛卡尔积的查询。 合理的设置map和reduce数量。 jvm重用。可在hadoop的mapred-site.xml中设置jvm被重用的次数。 * * 一个案例 工商银行文本挖掘技术应用探索分享 1414010141 毛聪颖 工商银行在大家传统的印象当中是一个体形非常庞大但是稳步前行的形象,但是近些

文档评论(0)

nfv050664 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档