应该不会,Impala是相当专注于传统企业客户和OLAP和数据仓库工作负载。Shark支持传统OLAP。
比较:
一、总体上
Shark扩展了Apache Hive,大大加快在内存和磁盘上的查询。而Impala是企业级数据仓库系统, 可以很好地使用Hive/ HDFS,从架构层来说,类似于传统的并行数据库。这两个系统有着很多共同的目标,但也有很大差异。
二、与现有系统的兼容性
Shark直接建立在Apache/Hive代码库上,所以它自然支持几乎所有Hive特点。它支持现有的Hive SQL语言,Hive数据格式(SerDes),用户自定义函数(UDF),调用外部脚本查询。因为Impala使用自定义的C++运行,它不支持Hive UDF。这两个系统将会与许多BI工具整合,这一直是Impala的主要目标。Shark正在被用于一些BI工具,如Tableau,不过这并没有被探索更多。
三、内存中的数据处理
Shark允许用户显式地加载在内存中的数据,以加快查询处理,其内存使用有效率的,压缩的面向列的格式。Impala还没有提供在内存中的存储。
四、容错
Shark被设计为支持短期和长时间运行的查询。它可以从查询故障恢复(感谢底层Spark引擎)。Impala目前是更侧重于短查询,不容错(如果节点发生故障,查询必须重新启动,对短查询来说这无疑是可以接受的)。
五、性能
做全面的比较太早了点。Shark和Impala都报告比Hive快10-100倍,但这都依赖具体情况和系统负载。两个项目也都在未来6个月内会做重要优化。以我们的经验来看,Sharkr当前版本,如果是内存的数据一般比Hive快100倍,如果是磁盘上的数据一般快5-10倍,这取决于查询(带关联连接的查询,能比Hive快很多)。
要对大批量的数据进行修改,最好使用批量UPDATE查询来提高效率。具体的做法是使用UPDATE语句更新数据库表中的多行数据。
以下是一般情况下建议使用的UPDATE查询:
1 使用WHERE子句筛选需要更新的数据,避免无意义的更新 *** 作,提高效率。
2 如果涉及多个表或者复杂的逻辑关系,可以采用JOIN语句将多个表连接起来进行更新。
3 对于更新内容较多的情况,可以考虑使用批量更新,即一次性更新多条记录,提高效率。
4 在更新 *** 作之前,最好事先备份相关的数据,以防止误 *** 作导致数据丢失。
需要注意的是,对于大批量的数据更新,可能会对数据库的性能产生影响,所以在进行更新 *** 作时,需要对数据库的配置和性能进行综合评估,保证系统的稳定性和可靠性。
以上就是关于impala为什么比spark快全部的内容,包括:impala为什么比spark快、要对大批量的数据进行修改为了提高效率最好使用什么查询、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)