presto

presto安装 部署 开发

  • 1. presto简介及架构
    • 1.1. 简介
    • 1.2. 架构模型
    • 1.3. 数据模型
  • 2. presto安装部署
    • 2.1. 下载相关包
    • 2.2. 解压下载的tar包
    • 2.3. 配置文件
      • 2.3.1. 节点属性
      • 2.3.2. JVM Config
      • 2.3.3. 配置属性
      • 2.3.4. 连接目录属性
    • 2.4. 启动presto
    • 2.5. 命令行界面
  • 3. presto Hbase Connector开发
    • 3.1. 方案概况
    • 3.2. 开发及使用

1. presto简介及架构

1.1. 简介

Presto是一个facebook开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节。presto的架构由关系型数据库的架构演化而来。presto之所以能在各个内存计算型数据库中脱颖而出,在于以下几点:

  • 清晰的架构,是一个能够独立运行的系统,不依赖于任何其他外部系统。例如调度,presto自身提供了对集群的监控,可以根据监控信息完成调度。
  • 简单的数据结构,列式存储,逻辑行,大部分数据都可以轻易的转化成presto所需要的这种数据结构。
  • 丰富的插件接口,完美对接外部存储系统,或者添加自定义的函数。
  • 用户可以根据presto定义的接口标准,自定义的扩展数据源的查询。例如Hbase的查询。
  • 支持sql的混合计算,即同一种数据源的不同库或表,或将多个数据源的数据进行合并

1.2. 架构模型

Presto采用典型的master-slave模型

  • coordinator(master)负责meta管理,worker管理,query的解析和调度

是一个中心的查询角色,它主要的一个作用是接受查询请求,将他们转换成各种各样的任务,将任务拆解后分发到多个worker去执行各种任务的节点

1、解析SQL语
2、⽣成执⾏计
3、分发执⾏任务给Worker节点执

  • worker则负责计算和读写

是一个真正的计算的节点,执行任务的节点,它接收到task后,就会到对应的数据源里面,去把数据提取出来,提取方式是通过各种各样的connector:
1、负责实际执⾏查询任务

  • discovery server, 通常内嵌于coordinator节点中,也可以单独部署,用于节点心跳

是将coordinator和woker结合到一起的服务:
1、Worker节点启动后向Discovery Server服务注册
2、Coordinator从Discovery Server获得Worker节点

1.3. 数据模型

presto采取三层表结构

  • catalog 对应某一类数据源,例如hive的数据࿰

你可能感兴趣的:(工作总结,big,data,hbase,presto)