本文前提

系统CentOs6.8,已安装完成hadoop1.7.2、Hive1.2.1,Mysql5.6,共三台测试机器组成集群

 

Presto

是什么?

Presto是一个sql查询引擎,类似Hive在大数据体系中的地位,同样的,它是用来分析数据而不是存储数据的

 

能做什么?
因为是基于内存计算,能够对大量数据做到一个准实时的分析。

能够连接多个数据源进行交叉计算。

因为是基于内存的计算,在分析海量数据时hive更具有优势

 

怎么安装?

     1、Server安装

  • 下载安装包 presto-server-0.196.tar.gz
  • 解压 tar -zxvf presto-server-0.196.tar.gz -C ./
  • 改名 mv presto-server-0.196/ presto
  • 在presto下创建目录 data和etc,在etc下创建catalog目录。最后preso目录如下图所示

Presto安装与基本使用

  • 在etc目录下创建如下文件

Presto安装与基本使用

  • jvm.config内容如下

Presto安装与基本使用

  • hive.properties内容如下

Presto安装与基本使用

  • 其中一个node.properties内容如下,不同的node节点,其node.id不能一样

Presto安装与基本使用

  • coordinator节点的config.properties如下

Presto安装与基本使用

  • worker节点的config.properties如下

Presto安装与基本使用

  • 启动HDFS后,在hive目录下启动Hive Metastore

Presto安装与基本使用

  • 在所有节点上启动Server

Presto安装与基本使用

 

    2、可视化客户端安装

  • 解压yanagishima
  • 在conf目录下配置yanagishima.properties内容如下

Presto安装与基本使用

  • 启动客户端

Presto安装与基本使用

  • 进入到web客户端

Presto安装与基本使用

  • 结果如下图所示

Presto安装与基本使用

 

系统架构

Presto中的server有两种角色,一个时Coordinator一种是Worker,具体如下图所示。

Presto安装与基本使用

 

基本使用

和hiveSql的使用基本相同,他们之间的差别暂不详述。需要注意的是在存在多个数据源时,需要明确的指定catalog, Schema, Table

 

常用优化

  • 合理设置分区
  • 使用列式存储
  • 使用压缩
  • 只选择使用的字段
  • 过滤条件加分区字段
  • join时将大表放在左边

 

相关文章: