1. Presto

官网

Presto is an open source SQL query engine that's fast, reliable, and efficient at scale. Use Presto to run interactive/ad hoc queries at sub-second performance for your high volume apps.

本身不提供存储,不是数据库,通过connector取连接对应的数据库,完成数据查询和计算。基于内存计算,适用交互式分析查询

1.1. Presto架构

master-slave架构,由一个Coordinator节点,一个Discovery 节点,和多个Worker节点组成

1.1.1. 组成部分

  • Coordinator(协调器): 负责解析SQL语句,生成执行计划,分发执行任务给Worker节点执行。
  • Discovery(发现服务): 通常内嵌于Coordinator节点中。
  • Worker(工作节点): 负责实际执行查询任务,从对应数据库中读取数据;Worker启动后向;
  • Discovery Server服务注册,Coordinator从Discovery Server获得可以正常工作的Worker节点。

1.1.2. 应用场景

1.1.3. 遇到的语法问题

set session hive.insert_existing_partitions_behavior = 'overwrite'; 解析:presto不支持 insert overwrite,所以提供了三种模式:

  1. set session hive.insert_existing_partitions_behavior = 'overwrite';
  2. set session hive.insert_existing_partitions_behavior = 'append';
  3. set session hive.insert_existing_partitions_behavior = 'error';
Copyright & copy lviter@163.com            updated 2024-02-06 09:54:56

results matching ""

    No results matching ""