查询类 query.max-stage-count=150 分区类 hive.ignore-unreadable-partition=true 5.5.2 PrestoDB RaptorX 最后调整 经过多轮测试 PrestoDB RaptorX 项目,我们最后开启了如下功能: 开启软亲和 hive.node-selection-strategy=SOFT_AFFINITY; 开启原始数据缓存 ALLUXIO 模式,关闭版本校验,关闭 cache.default-cache-quota...
query.max-memory-per-node=10GB query.max-total-memory-per-node 单个Query在单个Worker上允许的最大user memory + system memory 调整到 JVM max memory * 0.4 query.max-total-memory-per-node=16GB memory.heap-headroom-per-node 这个内存主要是第三方库的内存分配,无法统计跟踪。 (默认JVM max memory *...
他会先把所有的stage创建一个schedule计划。一共有两种schedule计划,一个是all-at-once,另一个是phased,还有一个 adaptive-phased (其实就是根据stage数量来决定到底是all-at-once还是phased). // AdaptivePhasedExecutionPolicy.java createExecutionScheduleif(stages.size() > getMaxStageCountForEagerScheduling(sessio...
查询类 query.max-stage-count=150 分区类 hive.ignore-unreadable-partition=true 5.5.2 PrestoDB RaptorX 最后调整 经过多轮测试 PrestoDB RaptorX 项目,我们最后开启了如下功能: 开启软亲和 hive.node-selection-strategy=SOFT_AFFINITY; 开启原始数据缓存 ALLUXIO 模式,关闭版本校验,关闭 cache.default-cache-quota...
Presto为Pipeline上各Stage的调度提供了可插拔的Policy API,目前提供两种策略实现:PhasedExecutionPolicy和AllAtOnceExecutionPolicy,而每一种策略中又可以对Stage启动的先后顺序进行定制。 在启动Source Task的时候会根据数据源的Metadata计算出需要扫描的Split并按照Partition的Locality(如果有)分配给对应Worker的Task;而启动...
query.max-stage-count=400 #自动kill运行时长超过20分钟的sql(代替脚本kill任务,让presto 自动管理): query.max-run-time=1200s #解决新版本 remote too large 报错 exchange.http-client.max-content-length=128MB node-manager.http-client.max-content-length=64MB ...
从上图可以看出,client 提交 SQL 到 Coordinator 上,Coordinator 接收到 SQL 之后,会进行 SQL 语法语义解析,生成逻辑计划树,然后经过 planner 处理生成物理计划树(这个过程在 这篇文章里面有介绍),紧接着会生成一个一个有依赖的 Stages,每个 stage 里面有一个或多个 task,这些 task 会被发送到 Worker ...
从上图可以看出,client 提交 SQL 到 Coordinator 上,Coordinator 接收到 SQL 之后,会进行 SQL 语法语义解析,生成逻辑计划树,然后经过 planner 处理生成物理计划树(这个过程在 这篇文章里面有介绍),紧接着会生成一个一个有依赖的 Stages,每个 stage 里面有一个或多个 task,这些 task 会被发送到 Worker 上去执行...
MAX).toEpochMilli(); String queryId = splitCompletedEvent.getQueryId(); String stageId = splitCompletedEvent.getStageId(); String taskId = splitCompletedEvent.getTaskId(); String fileName = logPath + File.separator + queryId; try (FileWriter fw = new FileWriter(fileName, true)) { fw....
Presto 由Stage到Task的旅程 清春年华 程序狗 前言 在presto中有Query,Stage,Task,Pipeline,Driver,Operator等等的概念,他们一生二,二生三,三生万物,构成了presto整个DAG的脉络。这里只对Stage… 阅读全文 荐书:《Presto实战》 张茄子 算法、 分布式技术和函数式编程爱好者 ...