Presto 有什么不一样?

510 阅读2分钟

最近要用到presto,在网上看了一些blog, 来记录总结一下学习的网站和知识(主要是presto和hive,mysql的使用区别)

presto 官方文档

prestodb.io/docs/0.215/…

presto 基本介绍

blog.csdn.net/cakexuexi/a…

presto与众不同的坑

presto介绍

Presto本身不存储数据,但是可以接入多种数据源,并且支持跨数据源的级联查询。

与MySQL对比:MySQL首先是一个单点关系型数据库,其具有存储和计算分析能力,而 Presto只有计算分析能力;在数据量方面,MySQL不能满足当前大数据量的分析需求,在这样的背景下,Facebook开发出Presto这样一个可以满足大数据量分析需求的工具(当然还有其他的工具)

Presto只有计算分析能力,那么数据是从哪里获取呢?--- 实际上,Presto可以连接多种数据源,包括Hive,Oracle,MySQL,Kafka,MongoDB,Redis等。可以通过show catalogs 命令看到Presto连接的所有数据源。

  • presto优点1 : 可以将多个不同数据源进行联合分析

select * from tableA left join tableB where tableA.id=tableB.id 这里的tableA 和tableB 都可以来自于presto连接的数据库中的任意一个


presto和hive,mysql的不同汇总

blog.csdn.net/qq_37833410…

  1. 时间差函数datediff()
  • presto:

select date_diff('day',cast('2018-09-05' as date),cast('2018-09-07' as date));

  • hive:

select datediff('2018-09-07','2018-09-05');

  • mysql:

SELECT TIMESTAMPDIFF(MONTH,'2009-10-01','2009-09-01')

  1. 注意:presto不支持动态查询,不能像hive和mysql一样定义变量。
  2. presto求数组长度

cardinality(arr)

  1. presto调取表格

from a.b.c ---- 数据源.数据库.数据表