当前位置: 首页 > 生活问答 > 天河生活 > 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的区别有什么的全部内容,如果大家还对相关的内容感兴趣,请持续关注上海建站网!

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

详情:▷ 查看视频...

官渡之战简介(图文)
官渡之战简介(图文)

详情:▷ 查看视频...

林书豪是哪个国家的人
林书豪是哪个国家的人

详情:林书豪是哪国人呢?林书豪出生于美国加利福尼亚州帕罗奥图,美国......

贝尔机器人和乐高区别
贝尔机器人和乐高区别

详情:乐高玩具相对于大家来说都很熟悉,其产品主要通过游戏性的活动来......