impala学习笔记.docx

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

概述Impala是参照谷歌新三篇论文Dremel的开源实现,和Shark、Drill功能相似。Impala是Cloudera公司主导开发并开源。基于Hive并使用内存进行计算,兼顾数据仓库,具有实时、批处理、多并发等优点。是使用CDH的首选PB级大数据实时查询分析引擎。Impala是基于Hive的大数据实时分析查询引擎,直接使用Hive的元数据库Metadata,意味着impala元数据都存储在Hive的metastore中。并且impala兼容Hive的sql解析,实现了Hive的SQL语义的子集,功能还在不断的完善中。特点基于内存进行计算,能够对PB级数据进行交互式实时查询、分析摒弃了MR计算改用C++编写,有针对性的硬件优化,例如使用SSE指令兼容HiveSQL,无缝迁移通过使用LLVM来统一编译运行时代码,避免了为支持通用编译而带来的不必要开销。支持sql92标准,并具有自己的解析器和优化器。具有数据仓库的特性,对hive原有数据做数据分析。使用了支持Data locality的I/O调度机制。支持列式存储。支持jdbc/odbc远程访问。缺点基于内存进行计算,对内存依赖性较大改用C++编写,意味着对C++普通用户不可见。基于Hive,与Hive共存亡实践中impala的分区数超过一万,性能严重下降,容易出现问题。稳定性不如Hive。配置共分为三种角色:Impala Catalog Server、Impala Daemon、Impala StateStore:注:Impala没有主节点,Impala Catalog Server和Impala StateStore具有主节点的功能,可当作主节点,Impala Daemon可理解为从节点配置impala的内存,impala需要内存的是Impala Daemon,Impala提供查询实例的是 ImpalaDaemon,Impala的总内存就是Impala Daemon的内存总和,如果要在某台机器做汇总操作,该台机器内存需要大一些Impala的客户端可以连Impala Daemon的任意一台机器,但做汇总操作可以连内存大的Impala Daemon的机器如果每台机器的内存大小相差不大时,可以轮询Impala Daemon的机器,或随机进行切换(获取机器的资源,如果某台机器的资源多,就使用这台机器发请求),可解决线程的问题和返回数据内存的问题,也可解决高并发问题。配置State Store的工作线程数,一般会给的高一些,给高后会快一些Impala三大核心主件Statestore daemon:服务名StateStore负责收集分布在集群中各个impalad进程的资源信息,各节点健康状况、同步节点信息。检查Daemon是否活着负责query的调度.对于一个正常运转的集群,并不是一个关键进程.Catalog daemon:服务名Catalog:把impala表的metadata(也是hive的源数据表)分发到各个impalad中接收来自statestore的所有请求Impala daemon:服务名impalad:接收client、hue、jdbc或者odbc请求、query 执行并返回给中心协调节点子节点上的守护进程,负责向statestore保持通信,汇报工作注:插入数据在Daemon上操作,操作后汇报给StateStore说明节点的数据变了,StateStore发请求给Catalog,Catalog去同步源数据表,StateStore进程和Catalog进程经常放到一台机器上。建议不要在StateStore进程和Catalog进程的机器上安装Daemon。Impala架构1 client发出请求到impalad上(impalad可以是随机的),impalad可以相互通信2 catalog与hive的Metastore进行通信,随时拿源数据,拿到的源数据再分发到各个impalad上3impalad搭建在datanode上,因为数据就在这上面,可直接进行操作,实现数据操作本地化4 impalad包括三个主键:Query Planner:执行计划的生成,把sql解析成执行计划Query Coordinator:中心协调节点,根据执行计划,将执行的任务分发到每一台机器,Query Executor:具体来执行任务5impalad执行完后,返回给clientimpalashell外部命令impala-shell -h 万能帮助impala-shell -r刷新整个元数据*说明:不光刷新表结构,表内的数据也会刷新出来(包括增删改的数据),不建议使用这个命令定时刷新,如果表较多时,这个刷新需要很长时间,不得以的时候可以做整体刷新在hive中创建表test在impala中查看表,看不到hiv

文档评论(0)

整理王 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档