Presto之Driver个数

news2024/11/25 4:25:08
一. 前言

        在Presto的Stage Performace中,每个Operator中都会有Driver个数的显示,如下图所示。本文主要介绍Presto中是如何决定Driver的个数的。

二. Driver个数

       在Presto中,一个pipeline中启动多少个Driver,是由此Pipeline处理的Split个数决定的。代码实现的流程如下所示:

blocked = split.process();
    DriverSplitRunner::processFor
        driverFactory.createDriver

        因此Presto在处理每个Split的时候,都会创建一个Driver来处理该Split,Driver中包含处理该Split的所有Operator。

       既然Operator的个数决定了Driver的个数,那么Operator的个数又是怎么决定的呢?

       在Presto中,Operator的个数在TableScan中和非TableScan处理不太一样,如下将详细说明两者的区别。

     TableScanOperator的Split个数决定流程:

     TableScan的Split格式是有Connector的ConnectorSplitManager::getSplits接口决定的,在SourcePartitionedScheduler中,会通过调用ConnectorSplitManager的split获取所有的split进行调度,整体的代码执行流程:

SourcePartitionedScheduler
    schedule
	   scheduleGroup.nextSplitBatchFuture = splitSource.getNextBatch
	      ConnectorAwareSplitSource::getNextBatch
		      source.getNextBatch     ==> 调用到connector的getSplits接口获取所有的splits,因此connector返回的split的个数就是tablescan的split的个数

        非TableScan算子的Driver个数则是由DriverInstanceCount决定的,在SqlTaskExecution::scheduleDriversForTaskLifeCycle中根据DriverInstanceCount的个数决定创建多少个Driver来处理数据:

       DriverInstanceCount的设置值不同的Operator设置的不一样,比如ExchangeOperator的个数是由task_concurrency参数决定的,主要的代码实现流程为:

      LocalExecutionPlanner::createRemoteSource中决定DriverInstanceCount:

    又如TableWrite的个数则是由task_writer_count参数决定的:

 

三 . Driver个数的意义

      更多的Driver意味着更多的并发去同时处理数据,往往也意味着更好的性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/937310.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

tidb数据库5.4.3和6.5.3版本性能测试对比

作者: qizhining 原文来源: https://tidb.net/blog/5454621f 一、测试需求: 基于历史原因,我们的业务数据库一直使用5.4.3,最近由于研发提出需求:需要升级到6.5.3版本,基于版本不同&#x…

sql:SQL优化知识点记录(四)

(1)explain之ref介绍 type下的ref是非唯一性索引扫描具体的一个值 ref属性 例如:ti表先加载,const是常量 t1.other_column是个t1表常量 test.t1.ID:test库t1表的ID字段 t1表引用了shared库的t2表的col1字段&#x…

基于黑寡妇算法优化的BP神经网络(预测应用) - 附代码

基于黑寡妇算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于黑寡妇算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.黑寡妇优化BP神经网络2.1 BP神经网络参数设置2.2 黑寡妇算法应用 4.测试结果:5.Matlab代…

JUC常用并发工具类

JUC常用并发工具类 1、什么是JUC? JUC 就是 java.util.concurrent 包,这个包俗称 JUC,里面都是解决并发问题的一些东西,该包的位置位于 java 下 面的 rt.jar 包下面。 2、4大常用并发工具类 2.1 CountDownLatch CountDownLatch&#x…

设计模式之九:迭代器与组合模式

有许多方法可以把对象堆起来成为一个集合(Collection),比如放入数组、堆栈或散列表中。若用户直接从这些数据结构中取出对象,则需要知道具体是存在什么数据结构中(如栈就用peek,数组[])。迭代器…

WebGL矩阵变换

目录 变换矩阵:旋转 变换矩阵:平移 44的旋转矩阵 示例代码: gl.uniformMatrix4fv()规范 平移:相同的策略 变换矩阵:缩放 变换矩阵:旋转 对于简单的变换,你可以使用…

【坑】Vue中带有__ob__: Observer的数组无法遍历的问题

控制台可以打印出数据但是渲染不出结构 解决办法: setTimeout(() > {Bus.$emit(shareRes, this.result.filter(item > item.id id)) }, 500)替换 Bus.$emit(shareRes, this.result.filter(item > item.id id))总结 解决和总结 好像和__ob__.Observe无…

电路原理分析2:应急照明灯电路

k是线圈,1-2(常开)和2-3(常闭)是2个触点。 1、220v交流电正常供电时,变压器触头位置提供12v的电压,这个时候,v2二极管是导通状态,所以线圈k吸合,这个时候1-2…

基于Java+SpringBoot+Vue前后端分离社区医院管理系统设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

利用 IDEA IDE 的轻量编辑模式快速查看和编辑工程外的文本文件

作为程序员, 我们都知道 IDE 的很好用的, 它的文本编辑器功能也非常的强大, 用起来非常便捷. 在长年累月的使用中, 我们也变得对其非常熟悉, 以致于使用起其它简单地轻量级的文本编辑器来, 比如什么记事本, Notepad, UltraEdit 等等呀, 觉得既不方便又不熟悉. 关键是很多的操作…

探索Java的ReentrantLock:实现并发锁的强大力量

前言: 👏作者简介:我是笑霸final,一名热爱技术的在校学生。 📝个人主页:个人主页1 || 笑霸final的主页2 📕系列专栏:java系列 📧如果文章知识点有错误的地方,…

单例模式:保证一个类仅有一个实例

单例模式:保证一个类仅有一个实例 欢迎来到设计模式系列的第二篇文章!在上一篇中,我们已经对设计模式有了初步的了解,今天让我们深入研究第一个模式——单例模式。 什么是单例模式? 在软件开发中,我们经…

pyinstaller打包openvino 2021.4.2

打包准备 1. 测试环境准备 conda create -n opinstall python3.7 -y conda activate opinstall pip install openvino2021.4.2 pip install pyinstaller PyCharm新建openvino_install,选择虚拟环境opinstall,编写测试代码 app.py import numpy as n…

mysql基础下

文章目录 1.创建表和管理表1. 一条数据存储的过程2.MySQL中的数据类型3.创建表4.修改表5.重命名表6.删除表7.清空表 2.数据处理1. 插入数据2.更新数据3. 删除数据4. 将查询结果插入到表中 3. 约束1.约束概述2.非空约束3.唯一性约束4. 主键(PRIMARY KEY)约…

山西电力市场日前价格预测【2023-08-28】

日前价格预测 预测明日(2023-08-28)山西电力市场全天平均日前电价为319.70元/MWh。其中,最高日前电价为371.80元/MWh,预计出现在19: 15。最低日前电价为278.59元/MWh,预计出现在13: 00。 价差方向预测 1: …

秋招打卡016(0827)

文章目录 前言一、今天学习了什么?二、关于问题的答案1.牛客网面经2.美团后端一面3.动态规划 总结 前言 提示:这里为每天自己的学习内容心情总结; Learn By Doing,Now or Never,Writing is organized thinking. 先多…

基于海洋捕食者算法优化的BP神经网络(预测应用) - 附代码

基于海洋捕食者算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于海洋捕食者算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.海洋捕食者优化BP神经网络2.1 BP神经网络参数设置2.2 海洋捕食者算法应用 4.测试结果&…

企业使用CRM如何统一销售流程管理?

销售流程我们可以理解为,销售人员从寻找潜在客户到最终达成交易的一系列步骤。很多企业通过CRM系统来进行销售流程管理,提高销售效率,实现销售目标。下面我们就来说说,CRM如何进行销售流程管理。 制定统一的销售流程:…

关于 Camera 预览和录像画质不一样的问题分析

1、问题背景 基于之前安卓平台的一个项目,客户有反馈过一个 Camera app 预览的效果,和录像效果不一致的问题。 这里的预览是指打开 Camera app 后直接出图的效果;录像的效果则是指打开 Camera app 开启录像功能,录制一段视频&…

【算法专题突破】双指针 - 快乐数(3)

目录 1. 题目解析 2. 算法原理 3. 代码编写 写在最后: 1. 题目解析 题目链接:202. 快乐数 - 力扣(Leetcode) 这道题的题目也很容易理解, 看一下题目给的示例就能很容易明白, 但是要注意一个点&#…