Impala调试注意事项
来源:互联网 发布:超市收银软件多少钱 编辑:程序博客网 时间:2024/05/21 22:46
1、压缩(默认是Snappy)
是否压缩需要根据具体场景而定,如果需要压缩推荐使用Snappy。压缩的好处在于HDFS上存储更少,以及在执行broadcast的时候网络传输更少的数据,但要解压缩需要带来额外的CPU开销。如果执行的SQL本身是CPU密集型的,压缩未必合适。
不使用压缩:
set compression_codec=none;
使用GZIP压缩:
set compression_codec=gzip;
查看参数值:
set;
2、计算统计信息compute stats
计算统计信息后,一些简单的聚合计算,比如max( )、count( ),都可以根据与计算的结果快速响应。另外,Impala在计算Query Plan时也会利用统计信息,比如对join的顺序进行自动优化。需要注意的是这种自动“优化”可能带来性能的下降。
计算统计信息的示例:
compute stats table_name;
3、HDFS 缓存
HDFS允许将常用数据锁(LOCK)在内存中,以提高数据读取的效率。使用HDFS缓存时也要考虑权衡(Tradeoff)。毕竟这部分内存会被锁住,使得这部分内存无法在Impala计算过程中被使用。
使用HDFS Cache示例:
sudo -u hdfs hdfs cacheadmin -addPool impala_pool -owner impala -limit 3000000000
alter table table_name set cached in 'impala_pool';
altertable table_name set uncached;
4、保持join顺序
默认情况下compute stats会对join的顺序进行自动优化,但是这个自动“优化”未必会对所有SQL带来性能的提升。对于那些性能下降的SQL,可以使用straight_join保证Impala在计算Query Plan保持原有的join顺序。
使用straight_join示例:
select straight_join a.cloumn1, b.cloumn2 from table_name a inner join table_name2 b where a.cloumn1 = b.cloumn1;
5、SQL Hint指定join方式
SQL join 过程中涉及到数据的网络传输,Impala支持两种模式:broadcast 和 shuffle。Impala会根据表的大小选择合适的模式。
使用Hint示例:
select a.cloumn1, a.cloumn2 from table_name a join [ shuffle | broadcast ] table_name2 bwhere a.cloumn1 = b.cloumn1;
6、Impala设置并发度
在Cloudera Manager界面点击“集群”中的资源管理下的“动态资源池”,如下图:
然后点击“配置”可以看到已有的资源池,可以进行编辑,点击“Impala”可以修改“最大运行查询”和“最大队列查询”等。
- Impala调试注意事项
- impala
- IMPALA
- impala
- Impala
- Impala
- Impala
- impala
- Impala
- Impala
- 代码调试注意事项
- GDB+Jlink调试注意事项
- kgdb调试注意事项
- kgdb调试注意事项
- android 调试注意事项
- LCD驱动调试 注意事项
- camera调试注意事项
- vs2012 调试注意事项
- mysql导入导出csv
- 用Python写个简单的推荐系统(一)
- Swift与Objective-C与C++混编的问题
- apt-get error-------Reading package lists... Error!
- C语言基础:C语言指针(6) - 指针和字符串
- Impala调试注意事项
- 使用Git进行工作文档的版本控制
- 固定层
- javascript绘制静态或者动态的图表、关系表、流程图-JointJS
- 华为面试题:通过交换元素,使两个数组的元素和之差最小
- wp8通过WebClient从服务器下载文件
- 九度OJ做题记录 更新.....
- Android中dpi,dp(dip),px关系,与计算公式
- bmob 云端代码笔记