Impala

1 Impala的基本概念

1.1 什么是Impala

Cloudera公司推出,提供对HDFS、Hbase数据的高性能、低延迟的交互式SQL查询功能。
基于Hive,使用内存技术,兼顾数据仓库,具有实时、批处理、多并发等优点
是CDH平台首选的PB级大数据实时查询分析引擎。

1.2 Impala优缺点

1.2.1 优点

1)基于内存运算,不需要把中间结果写入磁盘,省掉了大量IO开销
2)无需转换为Mapreduce,直接访问存储在HDFS,HBase中的数据进行作业调度,速度快
3)使用了支持Data locality的IO调度机制,尽可能地将数据和计算分配在同一台机器上进行,减少了网络开销
4)支持各种文件格式,如TEXTFILE,SEQUENCEFILE
5)可以访问hive的metastore,对hive数据直接做数据分析

1.2.2 缺点

1)对内存的依赖大,且完全依赖与hive
2)实践中,分区超过1万,性能严重下降
3)只能读取文本文件,而不能直接读取自定义二进制文件
4)每当新的记录/文件被添加到HDFS中的数据目录时,该表需要被刷新

1.3 Impala架构

如图,Impala包含三个模块:Impalad、StateStore和Catalog,除此之外,它还依赖Hive Metastore和HDFS
1)Impalad
接受client的请求,Query执行并返回给中心协调节点;子节点上的守护进程,负责向Statestore保持通信,汇报工作
2)Catalog
分发表的元数据信息到各个Impalad中;接受来自Statestore的所有请求
3)Statestore
负责收集分布在集群中各个Impalad进程的资源信息、各节点健康状况,同步节点信息;负责query的协调调度
 

2 Impala的实践

2.1 Impala初体验

1)启动Impala:impala-shell
2)查看数据库:show databases;
3)打开默认数据库:use default;
4)显示数据库中的表:show tables;
5)导出数据,逗号分隔:impala-shell -f impala.sql -B -o output.txt --output_delimiter=','
6)直接查询:impala-shell -q 'select * from default.student;'

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值