一、前述

Cloudera公司推出,提供对HDFS、Hbase数据的高性能、低延迟的交互式SQL查询功能。基于Hive使用内存计算,兼顾数据仓库、具有实时、批处理、多并发等优点 是CDH平台首选的PB级大数据实时查询分析引擎.一般公司选择使用CDH部署集群,可以考虑下Impala。

二、具体原理

优点:

1、基于内存进行计算,能够对PB级数据进行交互式实时查询、分析

2、无需转换为MR,直接读取HDFS数据

3、C++编写,LLVM统一编译运行

4、兼容HiveSQL

5、具有数据仓库的特性,可对hive数据直接做数据分析

6、支持Data Local

7、支持列式存储

8、支持JDBC/ODBC远程访问

缺点:

1、对内存依赖大

2、C++编写  开源?!

3、完全依赖于hive

4、实践过程中  分区超过1w  性能严重下降

5、稳定性不如hive

6. 此外,Impala不支持HiveQL以下特性:

可扩展机制,例如:TRANSFORM、自定义文件格式、自定义SerDes

XML、JSON函数

某些聚合函数:

covar_pop, covar_samp, corr, percentile, percentile_approx, histogram_numeric, collect_set

Impala仅支持:AVG,COUNT,MAX,MIN,SUM

多Distinct查询

UDF、UDAF

以下语句:

ANALYZE TABLE (Impala:COMPUTE STATS)、DESCRIBE COLUMN、DESCRIBE DATABASE、EXPORT TABLE、IMPORT TABLE、SHOW TABLE EXTENDED、SHOW INDEXES、SHOW COLUMNS、

架构:

解释:

真正计算进程:

整条sql的分发。中心功能。将任务分发给对应的executor计算。汇总结果返回给客户端:

解析器,解析执行计划:

executor 关联子查询,没有子查询就没有关联了:

Statestore Daemon(负责健康集群)

实例*1 - statestored

负责收集分布在集群中各个impalad进程的资源信息、各节点健康状况,同步节点信息.

负责query的调度

Catalog Daemon(分发元数据信息)

实例*1 - catalogd

分发表的元数据信息到各个impalad中

接收来自statestore的所有请求

Impala Daemon(真正处理节点)

实例*N – impalad

接收client、hue、jdbc或者odbc请求、Query执行并返回给中心协调节点

子节点上的守护进程,负责向statestore保持通信,汇报工作

Impala Shell(控制台外部执行时命令)

-h(--help)帮助

-v(--version)查询版本信息

-V(--verbose)启用详细输出

--quiet 关闭详细输出

-p 显示执行计划

-i hostname(--impalad=hostname) 指定连接主机

格式hostname:port 默认端口21000

-r(--refresh_after_connect)刷新所有元数据

-q query(--query=query)从命令行执行查询,不进入impala-shell

-d default_db(--database=default_db)指定数据库

-B(--delimited)去格式化输出

--output_delimiter=character 指定分隔符

--print_header 打印列名

-f query_file(--query_file=query_file)执行查询文件,以分号分隔

-o filename(--output_file filename)结果输出到指定文件

-c 查询执行失败时继续执行(一般项目升级的时候,二期可以执行一期的业务看下具体哪些业务语句失败了)

-k(--kerberos) 使用kerberos安全加密方式运行impala-shell

-l 启用LDAP认证

-u 启用LDAP时,指定用户名

Impala Shell(控制台内部执行时命令)

help

connect 连接主机,默认端口21000

refresh 增量刷新元数据库

invalidate metadata 全量刷新元数据库

explain 显示查询执行计划、步骤信息(不执行sql)

set explain_level 设置显示级别(0,1,2,3)

shell 不退出impala-shell执行Linux命令

profile (查询完成后执行) 查询最近一次查询的底层信息

实例:

去格式化:

指定规则。

可以用于以后的结果的使用!!!!

备注:

1.在hive中创建表不会同步到impala

2.StateStore 健康检查和Daemon 计算节点一般不会再一个节点上.

3.StateStore 健康检查和元数据同步catalog在一个节点上。

4.Hive中创建的表 impala中执行全量更新,其他条件下最好不用。

Impala HBase整合(实际上hive与hbase整合即可,共用同一套元数据)

Impala可以通过Hive外部表方式和HBase进行整合,步骤如下:

步骤1:创建hbase 表,向表中添加数据

create 'test_info', 'info'

put 'test_info','1','info:name','zhangsan'

put 'test_info','2','info:name','lisi'

步骤2:创建hive表

CREATE EXTERNAL TABLE test_info(key string,name string )

ROW FORMAT SERDE 'org.apache.hadoop.hive.hbase.HBaseSerDe'

STORED by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'

WITH SERDEPROPERTIES ("hbase.columns.mapping"=":key,info:name")

TBLPROPERTIES

("hbase.table.name" = "test_info");

步骤3:刷新Impala表

invalidate metadata

Impala 存储&&分区

Impala 存储&&分区

Impala 性能优化

1.执行计划查询sql执行之前,先对该sql做一个分析,列出需要完成这一项查询的详细方案

命令:explain sql、profile。

2.要点:

1、SQL优化,使用之前调用执行计划

2、选择合适的文件格式进行存储

3、避免产生很多小文件(如果有其他程序产生的小文件,可以使用中间表)

4、使用合适的分区技术,根据分区粒度测算

5、使用compute stats进行表信息搜集

6、网络io的优化:

a.避免把整个数据发送到客户端

b.尽可能的做条件过滤

c.使用limit字句

d.输出文件时,避免使用美化输出

7、使用profile输出底层信息计划,在做相应环境优化

备注:

中间表 可以解决insert语句造成的小表问题 。建立一个同样的表结构的表,insert  select查出来相当于放入一个表里面,即小文件规模减小。

可以解决 格式不支持问题。利用中间表转一下,将结果放到中间表,写入本来的表。

hue框架介绍和安装部署

大家好,我是来自内蒙古的小哥,我现在在北京学习大数据,我想把学到的东西分享给大家,想和大家一起学习 hue框架介绍和安装部署 hue全称:HUE=Hadoop User Experience 他是cl ...

环境篇:DolphinScheduler-1.3.1安装部署及使用技巧

环境篇:DolphinScheduler-1.3.1安装部署 1 配置jdk JDK百度网盘:https://pan.baidu.com/s/1og3mfefJrwl1QGZGZDZ8Sw 提取码:t ...

批处理命令篇--配置免安装mysql 5.6.22, 以及1067错误的一个解决方法

mysql 服务启动出现1067错误的一个解决方法: 当服务启动出现1067错误时,可查看“windows 事件查看器”,发现类似错误提示 Can't find messagefile 'F:\    ...

linux学习:【第1篇】初识Linux及安装

狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! linux学习:[第1篇]初识Linux及安装 写在前面 学习之初看了一段文章,很有感触,所以也 ...

XE6移动开发环境搭建之IOS篇(2):安装虚拟机(有图有真相)

XE6移动开发环境搭建之IOS篇(2):安装虚拟机(有图有真相) 2014-08-15 22:04 网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的内容.傻瓜式的表 ...

【Redis篇】Redis集群安装与初始

一.前述   本文将单台节点不同端口模拟集群方式. 二.具体搭建 前提是安装好redis具体可参考http://www.cnblogs.com/LHWorldBlog/p/8463269.html 1 ...

Python开发【初始篇】:Linux下安装Python3

Linux系统默认自带python2.6的版本,这个版本被系统很多程序所依赖,所以建议不要轻易删除,除非你能解决其他程序的依赖问题.如果使用最新的Python3需要进行编译安装源码包,这样就对系统默认 ...

第五篇、 WebSphere8.5的安装

一.前言 WebSphere Application  Server 是IBM企业级应用服务器,与WAS6,WAS7相比较而言 WAS8发生了很大的改变,其安装介质和以前截然不同,该篇章中对于不同的安 ...

【原创】大数据基础之Impala(1)简介、安装、使用

impala2.12 官方:http://impala.apache.org/ 一 简介 Apache Impala is the open source, native analytic datab ...

随机推荐

转 FileStream Read File

FileStream Read File [C#] This example shows how to safely read file using FileStream in C#. To be s ...

eclipse配置gradle

1.Grandle官网下载Gradle 2.解压文件,配置到环境变量 3.测试安装成功,$ gradle -v 4.打开eclipse,Help-->Install new software,输 ...

OpenGL第8,9讲小结

这两节,透明度和物体的3D运动,主要集中在第9讲,因为第9讲也用到了通过Alpha值来调整透明度的地方. 因为要模拟星星,所以要创建的四边形需要很多,例子中创建了50个正方形.因为每个星星的属性都差不 ...

android API文档查询---context、toast、SharedPreferences

/*查阅api ---context1.abstract AssetManager     getAssets() Returns an AssetManager instance for the a ...

BBC票选出的100部最经典美国电影,你看过几部?

BBC票选出的100部最经典美国电影,你看过几部? 导读:BBC票选出的100部最经典美国电影,你看过几部? 2015-07-27欧美内参欧美内参欧美内参 微信号zoujinoumei 功能介绍&lt ...

python 爬取B站视频弹幕信息

获取B站视频弹幕,相对来说很简单,需要用到的知识点有requests.re两个库.requests用来获得网页信息,re正则匹配获取你需要的信息,当然还有其他的方法,例如Xpath.进入你所观看的视频 ...

IntelliJ IDEA 源值1.5已过时,将在未来所有版本中删除

1. 修改Maven的Settings.xml文件添加如下内容 jdk-1.8 < ...

如何在mysql客户端即mysql提示符下执行操作系统命令

环境描述: mysql版本:5.5.57-log 操作系统版本:Red Hat Enterprise Linux Server release 6.6 (Santiago) 需求描述: 在mysql的 ...

在coding或者github建立个人站点域名绑定

coding:静态的在域名服务器与是填写pages.coding.me,不是填写{你的名字}.coding.me A型的ip是ping 该域名ip github:上传大项目可能报错(报错名字忘记了), ...

专2-第二课 Eclipse开发环境搭建

2.1下载Eclipse 2.2 安装C/C++版本的Eclipse 2.3 安装JDT插件开发Java程序 2.4 使用Eclipse开发驱动程序 既然安装了eclipse来进行驱动学习,那么我们就 ...

hive不在同一台机 hue_【Impala篇】---Hue从初始到安装应用相关推荐

  1. hive不在同一台机 hue_环境篇:呕心沥血@CDH线上调优

    环境篇:呕心沥血@CDH线上调优 为什么出这篇文章? 近期有很多公司开始引入大数据,由于各方资源有限,并不能合理分配服务器资源,和服务器选型,小叶这里将工作中的总结出来,给新入行的小伙伴带个方向,不敢 ...

  2. dd wipe 命令磁盘清空shell脚本,笔记本台机MAC通用

    教程目标:dd wipe 命令磁盘清空shell脚本,笔记本台机MAC通用 日    期:2015年08月20日 联系邮箱:linux_lcl@163.com Q Q  群:1851 15701 51 ...

  3. 在同一台机运行多个mysql 服务 多个主/从在同一主机_在同一台机运行多个Mysql 服务 多个主/从在同一主机...

    在同一台机运行多个Mysql 服务--mysqld_mult Windy.Chan  9, Apr, 06 Windy.Chan  26, Apr, 06  10:00更新. 欢迎转载,但务必在转载时 ...

  4. 在同一台机运行多个mysql 服务 多个主/从在同一主机_[ 原创 ]在同一台机运行多个Mysql 服务 多个主/从在同一主机...

    在同一台机运行多个Mysql 服务--mysqld_mult Windy.Chan  9, Apr, 06 Windy.Chan  26, Apr, 06  10:00更新. 欢迎转载,但务必在转载时 ...

  5. 服务器主板显示e2,大金中央空调有一台机面板显示E2是什么问题如何解决故障...

    大金中央空调有一台机面板显示E2是什么问题如何解决故障 大金空调故障代码E2故障内容:漏电检测 大金空调故障代码E2故障原因:接地短路,与电流传感器之间的配线错误.压缩机或风扇电机绝缘不良.A8P板子 ...

  6. 无盘网吧服务器能带30台机吗,30台机无盘网吧的配置方案

    准备开个30台机的网吧,请大大看看服务器的配置能带30台电脑吗?配置能玩现在主流游戏(如魔兽,极品14,CF)吗?要不卡机.另外就是配置的价格是否水分太多?下面哪个方案好一点. 方案一:服务器配置: ...

  7. 网吧无盘最新服务器配置,2018年50台机网吧无盘服务器配置

    大家都知道,现在的网吧都是无盘,无盘网吧服务器和网络配置决定了网吧的大部分性能.而网吧电脑配置的性能直接影响到网吧顾客对网吧的印象.网吧顾客玩得不爽,下次自然不会再来你网吧了.所以,网吧无盘服务器的电 ...

  8. Scrapy-Redis Windows下多台机互联

    一.下载安装Redis 新下载:redis-6.2.6 假设主机IP为192.168.112.123,从机IP为192.168.112.124 192.168.112.123 (简称A)本IP为假设I ...

  9. 如何给没网的台机(pve)装rtl8821cu无线网卡驱动

    目录 pve安装 Ndiswrapper 0bda:1a2b RTL8188GU rtl8821CU 有网络的环境 参考 准备直接给台机虚拟化,安装pve系统,但是安装之后,插上无线网卡,没有网络,怎 ...

  10. 单体项目部署多台机定时任务数据插入重复问题

    解决多台机同时插入造成数据重复 个人负责了一个单体SpringMVC+Quartz定时任务框架的项目,该项目部署两台机,属于低数据量低并发项目,项目原本并没有做集群配置,之前部署到线上没出现问题,直到 ...

最新文章

  1. LeetCode刷题记录13——705. Design HashSet(easy)
  2. Java连接数据库(3)
  3. 【机器学习基础】用Python画出几种常见机器学习二分类损失函数
  4. ui设计师常用的设计工具_2020年应该使用哪个UI设计工具?
  5. 什么样的代码是好代码_什么是好代码?
  6. 【CodeForces - 735B】Urbanization (找规律,思维)
  7. mysql item_MySQL源代码:关于MySQL的Item对象
  8. mysql游标遍历中sql语句出现异常_MySQL中的异常处理,游标
  9. 逐步解析:杨辉三角(C语言)
  10. Opatch java 路径_Windows平台下opatch apply报错:OUI-67073
  11. 微信小程序支付返回信息为空
  12. C++指针探讨 (二) 函数指针
  13. SqlDataReader循环取值
  14. 图书管理系统C语言课程设计
  15. 秒搜编程好书 就用这个Python写的爬虫网站
  16. 出售计算机广告英文作文,英语四级作文参考范文:二手电脑广告
  17. 西门子低代码项目团队协作方法
  18. Java进阶-常用API
  19. Debian安装中文输入法
  20. 有刷直流电机工作原理详解

热门文章

  1. wpa_supplicant 中 ISupplicant 服务代理客户端对象获取
  2. Linux电源管理(2)_Generic PM之基本概念和软件架构
  3. phpstorm的安装和破解
  4. 文本分析用GUI界面显示
  5. 与7无关的数(前缀和)
  6. 进制转换的方法 详解
  7. 设计递归算法,删除不带头结点的单链表L中所有值为X的结点
  8. python面向对象设计角色攻击_Python技能:面向对象基础实战之英雄联盟
  9. storm the 少儿英语_米粒英语绘本课堂——The Snowstorm
  10. 计算机与网络教育缺点,互联网安全有什么类型,缺点在何处?