大数据时代快速SQL引擎-Impala( 四 )
Impala除了支持简单类型之外 , 还支持String、timestamp、decimal等多种类型 , 用户还可以对于特殊的逻辑实现自定义函数(UDF)和自定义聚合函数(UDAF) , 前者可以使用Java和C++实现 , 后者目前仅支持C++实现 , 除此之外的schema操作都可以在Hive上实现 , 由于Impala的存储由HDFS实现 , 因此不能够实现update、delete语句 , 如果有此类需求 , 还是需要重新计算整个分区的数据并且覆盖老数据 , 这点对于修改的实时性要求比较高的需求还是不能满足的 , 如果有此类需求还是期待Kudu的支持吧 , 或者尝试一下传统的MPP数据库 , 例如GreenPlum 。
当完成数据导入之后 , 用户需要执行COMPUTE STATS
以收集和更新表的统计信息 , 这些统计信息对于CBO优化器提供数据支持 , 用于生成更优的物理执行计划 。 测试发现这个操作的速度还是比较快的 , 可以将其看做数据导入的一部分 , 另外需要注意的是这个语句不会自动执行 , 因此建议用户在load完数据之后手动的执行一次该命令 。
系统架构
从用户的使用方式上来看 , Impala和Hive还是很相似的 , 并且可以共享一份元数据 , 这也大大简化了接入流程 , 下面我们从实现的角度来看一下Impala是如何工作的 。 下图展示了Impala的系统架构和查询的执行流程 。
推荐阅读
- 捉迷藏|?LOL世界赛“含金量”数据出炉:EDG仅排第六,IG稳居榜首
- 李儒|三国杀:为什么叫李儒时代的骄傲,他到底有什么好骄傲的?厉害吗
- 梦幻西游|梦幻西游:诗情画意进入净台时代,郭无情买爆总17段野兽鞋
- s6|金铲铲之战:S6双城传说如何才能快速上手?基础知识很关键
- 帝国时代4|老外做的《帝国时代4》,究竟能有中国味吗?
- 碧蓝航线|碧蓝航线SR重巡福煦数据详解 期待越高失望越大 强度平平无奇
- 赛博朋克2077|王者荣耀:6种不花钱就能领皮肤碎片的方法!快速兑换心仪皮肤!
- 地下城与勇士|DNF:“全民云上”时代到来,一个过气小副本,究竟有何魅力?
- steam|目前Steam上什么游戏比较火?《帝国时代4》屈居第二
- kramer|国服极地大乱斗数据上线,来看看胜率榜符合你的预期吗?