impala学习笔记.pdf
《impala学习笔记.pdf》由会员分享,可在线阅读,更多相关《impala学习笔记.pdf(31页珍藏版)》请在咨信网上搜索。
1、1 概述概述1.Impala 是参照谷歌新三篇论文 Dremel 的开源实现,和 Shark、Drill 功能相似。Impala是 Cloudera 公司主导开发并开源。基于 Hive 并使用内存进行计算,兼顾数据仓库,具有实时、批处理、多并发等优点。是使用 CDH 的首选 PB 级大数据实时查询分析引擎。2.Impala 是基于 Hive 的大数据实时分析查询引擎,直接使用 Hive 的元数据库 Metadata,意味着 impala 元数据都存储在 Hive 的 metastore 中。并且 impala 兼容 Hive 的 sql 解析,实现了 Hive 的 SQL 语义的子集,功能还在
2、不断的完善中。1.11.1 特点特点1.基于内存进行计算,能够对 PB 级数据进行交互式实时查询、分析2.摒弃了 MR 计算改用 C+编写,有针对性的硬件优化,例如使用 SSE 指令3.兼容 HiveSQL,无缝迁移4.通过使用 LLVM 来统一编译运行时代码,避免了为支持通用编译而带来的不必要开销。5.支持 sql92 标准,并具有自己的解析器和优化器。6.具有数据仓库的特性,对 hive 原有数据做数据分析。7.使用了支持 Data locality 的 I/O 调度机制。8.支持列式存储。9.支持 jdbc/odbc 远程访问。1.21.2 缺点缺点1.基于内存进行计算,对内存依赖性较大
3、2.改用 C+编写,意味着对 C+普通用户不可见。3.基于 Hive,与 Hive 共存亡4.实践中 impala 的分区数超过一万,性能严重下降,容易出现问题。5.稳定性不如 Hive。2 配置配置共分为三种角色:Impala Catalog Server、Impala Daemon、Impala StateStore:注:Impala 没有主节点,Impala Catalog Server 和 Impala StateStore 具有主节点的功能,可当作主节点,Impala Daemon 可理解为从节点配置 impala 的内存,impala 需要内存的是 Impala Daemon,Im
4、pala 提供查询实例的是 Impala Daemon,Impala 的总内存就是 Impala Daemon 的内存总和,如果要在某台机器做汇总操作,该台机器内存需要大一些Impala 的客户端可以连 Impala Daemon 的任意一台机器,但做汇总操作可以连内存大的 Impala Daemon 的机器如果每台机器的内存大小相差不大时,可以轮询 Impala Daemon 的机器,或随机进行切换(获取机器的资源,如果某台机器的资源多,就使用这台机器发请求),可解决线程的问题和返回数据内存的问题,也可解决高并发问题。配置 State Store 的工作线程数,一般会给的高一些,给高后会快一
5、些3 Impala 三大核心主件三大核心主件1.Statestore daemon:服务名 StateStore 1)负责收集分布在集群中各个 impalad 进程的资源信息,各节点健康状况、同步节点信息。检查 Daemon 是否活着2)负责 query 的调度.3)对于一个正常运转的集群,并不是一个关键进程.2.Catalog daemon:服务名 Catalog:1)把 impala 表的 metadata(也是 hive 的源数据表)分发到各个 impalad 中2)接收来自 statestore 的所有请求3.Impala daemon:服务名 impalad:1)接收 client、
6、hue、jdbc 或者 odbc 请求、query 执行并返回给中心协调节点2)子节点上的守护进程,负责向 statestore 保持通信,汇报工作注:插入数据在 Daemon 上操作,操作后汇报给 StateStore 说明节点的数据变了,StateStore 发请求给 Catalog,Catalog 去同步源数据表,StateStore 进程和 Catalog 进程经常放到一台机器上。建议不要在 StateStore 进程和 Catalog 进程的机器上安装 Daemon。4 Impala 架构架构1 client 发出请求到 impalad 上(impalad 可以是随机的),impal
7、ad 可以相互通信2 catalog 与 hive 的 Metastore 进行通信,随时拿源数据,拿到的源数据再分发到各个impalad 上3 impalad 搭建在 datanode 上,因为数据就在这上面,可直接进行操作,实现数据操作本地化4 impalad 包括三个主键:Query Planner:执行计划的生成,把 sql 解析成执行计划Query Coordinator:中心协调节点,根据执行计划,将执行的任务分发到每一台机器,Query Executor:具体来执行任务5 impalad 执行完后,返回给 client5 impala shell 外部命令外部命令5.15.1 i
8、mpala-shellimpala-shell -h-h 万能帮助万能帮助5.25.2 impala-shellimpala-shell -r-r 刷新整个元数据刷新整个元数据 *说明:不光刷新表结构,表内的数据也会刷新出来(包括增删改的数据),不建议使用这个命令定时刷新,如果表较多时,这个刷新需要很长时间,不得以的时候可以做整体刷新1)在 hive 中创建表 test2)在 impala 中查看表,看不到 hive 内创建的表3)刷新 impala 源数据4)查看 impala 内的表5)删除 impala 内的 test 表6)查看 hive 内的表,发现 hive 内的表也被删除了5.3
9、5.3 impala-shellimpala-shell -B-B 去格式化去格式化说明:查询大数据量时可以提高性能子命令:impala-shell-B-print_header 去格式化时显示列名impala-shell-B-output_delimiter 指定分隔符1)查看 impala 内的表,发现表外面有框,这就是被格式化的2)去格式化3)去格式化时显示列名在 hive 内查询数据在 impala 内查询5.45.4 impala-shellimpala-shell -v-v 查看版本查看版本查看 impala shell 的版本注:如果在 impala 升级时,发现 impala
10、和 impala shell 的版本不一致时说明升级有问题。5.55.5 impala-shellimpala-shell -f-f 执行查询文件执行查询文件 *子命令:-query_file 指定查询文件1.执行查询文件$vi testselect*from test limit 5;$impala-shell-f test2.使用子命令查询文件3.使用子命令查询结果去格式化注:测试些处用 impala-shell-B-print_header-f test.sss 命令是否能执行成功5.65.6 impala-shellimpala-shell -i-i 连接到对应的连接到对应的 impa
11、ladimpalad说明:如果在某台服务器上未安装 impalad 服务,可以连接其他服务器的 impalad 服务子命令:-impalad 指定 impalad 去执行任务-fe_port 指定备用端口5.75.7 impala-shellimpala-shell -o-o 保存执行结果到文件保存执行结果到文件 *子命令:-output_file 指定输出文件名 1.保存执行结果到文件注:测试些处用 impala-shell o result.txt-f test.sss 命令是否能执行成功2.查询结果去格式化,执行 test.sss 文件,结果保存在 result.ex 内注:测试些处用
12、impala-shell-B-print_header o result.txt-f test.sss 命令是否能执行成功3.查询结果去格式化,不显示列名,执行 test.sss 文件,结果保存在 result.ex 内5.85.8 impala-shellimpala-shell -u-u 指定某一用户运行指定某一用户运行 impala-shellimpala-shell子命令:-user 指定用户执行 shell 命令-ssl 通过 ssl 验证方式方式执行-ca_cert 指定第三方用户证书-config_file 临时指定配置文件注:上面未配置 kerberos,因此没有用户权限控制5
13、.95.9 impala-shellimpala-shell -p-p 显示执行计划显示执行计划子命令:-quiet 不显示多余信息以上先显示执行结果,再显示执行计划如果执行计划显示的结果较多,可以写到文件中5.105.10 impala-shellimpala-shell -d-d 指定进入某一个数据库指定进入某一个数据库子命令:-database 指定数据库名称5.115.11其他命令其他命令q 不进入 impala-shell 执行查询-k 使用 kerberos 安全加密方式运行 impala-shell-c 忽略错误语句继续执行-l 使用 LDAP 协议进行访问6 Impala sh
14、ell 内部命令内部命令6.16.1 helphelp 帮助选项帮助选项6.26.2 versionversion 查看查看 impalaimpala 版本版本6.36.3 connectconnect 连接到某个连接到某个 impaladimpalad 实例实例connect 在没在安装 impalad 的服务器上执行:6.46.4 refreshrefresh 刷新某个表元数据刷新某个表元数据 *refresh /增量刷新1.在 impala 内新建表,插入数据2.在 hive 内可查看到在 imaplaq 内新建的表,插入数据3.在 imapla 中查询,发现 hive 内新增的记录查询
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- impala 学习 笔记 编辑 修改 word
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。