当前位置: 首页 > 生活问答 > 天河生活 > impala和hive的区别有什么

impala和hive的区别有什么

网站编辑:上海建站网 发布时间:2022-09-28  点击数:
导读:impala和hive的区别主要有以下几个:1、执行计划不同:Impala: 把执行计划表现为一棵完整的执行计划树,可以更自然地分发执行计划到各个Impalad执行查询,而不用像Hive那样把它组合成管道型的 map-reduce模式,以此保证Impala有更好的并发性和避免不必要的中间sort与shuffle。Hive的执行计划分成 map-shuffle-reduce-map-shuffle-...

impala和hive的区别主要有以下几个:

1、执行计划不同:

Impala: 把执行计划表现为一棵完整的执行计划树,可以更自然地分发执行计划到各个Impalad执行查询,而不用像Hive那样把它组合成管道型的 map-reduce模式,以此保证Impala有更好的并发性和避免不必要的中间sort与shuffle。

Hive的执行计划分成 map-shuffle-reduce-map-shuffle-reduce…的模型。如果一个Query会被编译成多轮MapReduce,则会有更多的写中间结果。由于MapReduce执行框架本身的特点,过多的中间过程会增加整个Query的执行时间。

2、数据流不同:

Impala: 采用拉的方式,后续节点通过getNext主动向前面节点要数据,以此方式数据可以流式的返回给客户端,且只要有1条数据被处理完,就可以立即展现出来,而不用等到全部处理完成,更符合SQL交互式查询使用。

Hive: 采用推的方式,每一个计算节点计算完成后将数据主动推给后续节点。

3、所使用的内存不同:

Impala: 在遇到内存放不下数据时,会直接返回错误,而不会利用外存,这使用得Impala目前处理Query会受到一 定的限制,最好还是与Hive配合使用。Impala在多个阶段之间利用网络传输数据,在执行过程不会有写磁盘的操作(insert除外)。

Hive: 在执行过程中如果内存放不下所有数据,则会使用外存,以保证Query能顺序执行完。每一轮MapReduce结束,中间结果也会写入HDFS中,同样由于MapReduce执行架构的特性,shuffle过程也会有写本地磁盘的操作。

4、调度不同:

Impala: 调度由自己完成,目前只有一种调度器simple-schedule,它会尽量满足数据的局部性,扫描数据的进程尽量靠近数据本身所在的物理机器。

Hive: 任务调度依赖于Hadoop的调度策略。

  以上就是小编为大家介绍的impala和hive的区别有什么的全部内容,如果大家还对相关的内容感兴趣,请持续关注上海建站网!

  标签:
内容声明:网站所展示的内容均由第三方用户投稿提供,内容的真实性、准确性和合法性均由发布用户负责。上海建站网对此不承担任何相关连带责任。上海建站网遵循相关法律法规严格审核相关关内容,如您发现页面有任何违法或侵权信息,欢迎向网站举报并提供有效线索,我们将认真核查、及时处理。感谢您的参与和支持!
浏览此文的人还看过
幼儿园手指游戏
幼儿园手指游戏

详情:对于幼儿来说,适当的游戏可以激发幼儿活动的兴趣,还能够锻炼幼......

车厘子2j和3j的区别
车厘子2j和3j的区别

详情:车厘子2j和3j的区别主要在于果径的大小和价格不同。2j的车......

生宣纸与熟宣纸有哪些区别
生宣纸与熟宣纸有哪些区别

详情:生宣纸与熟宣纸的区别:主要体现在手感不同、用途不同、材质不同......

爵士舞的特点有哪些
爵士舞的特点有哪些

详情:爵士舞分为:踢跶舞、舞台式爵士舞、现代爵士舞和街头爵士舞。爵......