乐知付加密服务平台

如果你有资源, 平台可以帮你实现内容变现, 无需搭建知识付费服务平台。

点击访问官方网站 https://lezhifu.cc

扫码关注公众号 乐知付加密服务平台-微信公众号
Presto和Hive的对比 | chenzuoli's blog

Presto和Hive的对比

      Presto和Hive作为大数据分析领域OLAP工具,他们之间有什么区别和联系呢?下面来看看。

1.本质区别

      Hive是把一个查询转化成多个MapReduce任务,然后一个接一个执行。执行的中间结果通过对磁盘的读写来同步。然而,Presto没有使用MapReduce,它是通过一个定制的查询和执行引擎来完成的。它的所有的查询处理是在内存中,这也是它的性能很高的一个主要原因。

2.执行速度

      presto由于是基于内存的,而hive是在磁盘上读写的,因此presto比hive快很多,但是由于是基于内存的当多张大表关联操作时易引起内存溢出错误

3.处理json类型的数据

presto处理如下:

1
2
3
select 
    json_extract_scalar(xx['custom'],'$.position')
from table

hive处理如下:

1
2
3
select 
    get_json_object(xx['custom'],'$.position')
from table

      此外Presto还有一个函数json_extract是直接返回一个json串,根据需要自己需要选择函数

4.列转行

Hive:

1
select student, score from tests lateral view explode(split(scores, ',')) t as score;

Presto:

1
select student, score from tests cross json unnest(split(scores, ',') as t (score)

Where there is a will, there is a way.

书山有路勤为径,学海无涯苦作舟。

欢迎关注微信公众号:【程序员写书】
程序员写书

喜欢宠物的朋友可以关注:【电巴克宠物Pets】
电巴克宠物

一起学习,一起进步。

-------------本文结束感谢您的阅读-------------