当前位置: 首页 > news >正文

网站建设感想/惠州网站制作推广

网站建设感想,惠州网站制作推广,网页生成桌面快捷方式,微商城运营方案Spark SQL优化机制Spark SQLCatalyst 优化器逻辑优化物理优化TungstenUnsafe RowWSCGRDD 缺点 : RDD的算子都是高阶函数 ,Spark Core 不知函数内的操作,只能闭包形式发给 Executors, 无法优化 DataFrame 不同点: 数据的表示形式…

Spark SQL优化机制

  • Spark SQL
  • Catalyst 优化器
    • 逻辑优化
    • 物理优化
  • Tungsten
    • Unsafe Row
    • WSCG

RDD 缺点 : RDD的算子都是高阶函数 ,Spark Core 不知函数内的操作,只能闭包形式发给 Executors, 无法优化

DataFrame 不同点:

  • 数据的表示形式 :有数据模式(Data Schema)的结构化数据
  • 开发算子 :一套 DSL算子(Domain Specific Language)

Spark 能用 DataFrame ,基于启发式的规则或策略,动态的运行时信息,去优化 DataFrame 的计算过程

Spark SQL

  • Spark Core :特指 Spark 底层执行引擎(Execution Engine),包括:调度系统、存储系统、内存管理、Shuffle 管理
  • Spark SQL :基于 Spark Core 上,有一层独立的优化引 (Optimization Engine)

Spark Core/Spark SQL关系:

  • Spark SQL 优化后的代码,交给 Spark Core 执行

在这里插入图片描述

Spark SQL 的两个核心组件:Catalyst 优化器 /Tungsten

  • Catalyst 优化器:负责创建并优化执行计划,有 3 个功能模块:创建语法树并生成执行计划、逻辑阶段优化、物理阶段优化
  • Tungsten :负责优化数据结果与可执行代码 ,衔接 Catalyst 执行计划与底层的 Spark Core 执行引擎

在这里插入图片描述

Catalyst 优化器

Catalyst 优化器的作用:在逻辑优化阶段,基于启发式的规则和策略调整、优化执行计划,为物理优化阶段提升性能奠定基础

逻辑优化

Catalyst 的优化过程 : 先用第三方的 SQL 解析器 ANTLR 生成抽象语法树(AST,AbstractSyntax Tree)

AST 的两个基本元素构成

  • 节点:各式各样的操作算子,如 : select、filter、agg
  • 边 : 记录了数据表的 Schema 信息 ,如 : 字段名、字段类型

AST 语法树/执行计划(Execution Plan ) :

在这里插入图片描述

Parquet 格式在文件层面支持两项特性 :

  • 谓词下推、列剪枝 :都是启发式的规则或策略
  • 谓词下推 (Predicates Pushdown) : batchNum >= 201601的过滤条件,在扫描过程时,只读取那些满足条件的数据文件
  • 列剪枝 (Columns Pruning):Parquet 是列存 (Columns Store) 数据结构,只取某个字段名的数据文件时,就会剪掉其他数据文件的过程

Spark 只扫描绿色部分 :

在这里插入图片描述

逻辑优化的执行计划 :

  • 执行顺序 : Scan > Filter > Select变成 Filter > Select > Scan

在这里插入图片描述

物理优化

Catalyst 的优化阶段差异:

  • 逻辑阶段 :依赖先验的启发式经验 , 基于经验优化
  • 物理阶段:依赖各式各样的统计信息,如:数据表尺寸、是否启用数据缓存、Shuffle 中间文件, 基于数据优化

Join 节点物理阶段优化:

  • 采用哪种实现机制实现关联:嵌套循环连接(NLJ,Nested Loop Join)、排序归并连接(Sort Merge Join)、哈希连接(Hash Join)
  • 采用哪种数据分发实现关联:Shuffle Join 和 Broadcast Join
  • 根据两张表的存储大小,决定采用 :运行稳定但性能略差的 Shuffle Sort Merge Join 或 执行性能更佳的 Broadcast Hash Join

Tungsten

基于Catalyst ,Tungsten 在数据结构/执行代码进行进一步的优化

  • 数据结构优化: Unsafe Row 的设计与实现
  • 执行代码优化:全阶段代码生成(WSCG,Whole Stage Code Generation)

Unsafe Row

Spark SQL 默认采用 org.apache.spark.sql.Row 对象对每条数据进行封装和存储,Java Object 会有大量的存储开销

Unsafe Row 是二进制数据结构,以字节数组的格式存储每条数据,能减少存储开销

采用默认的 Row存储:

  • 每条记录需要消耗至少 60 个字节

在这里插入图片描述

采用 Tungsten Unsafe Row 存储:

  • 每条数据记录仅需消耗十几个字节

在这里插入图片描述

WSCG

WSCG:全阶段代码生成

  • 全阶段:调度系统中的 Stage
  • 代码生成:运行时,把链式调用的算子合成一份代码。如:把 Filter、Select、Scan 合成一个函数

绿色节点属于同一个 Stage :

在这里插入图片描述

http://www.jmfq.cn/news/5040415.html

相关文章:

  • 山东省建设工程质量监督网站/百度推广天津总代理
  • 流感疫情最新消息/厦门seo起梦网络科技
  • 网页浏览器如何放大/韶山seo快速排名
  • 用html做的网站步骤/武汉网站制作
  • 鸿科经纬教网店运营推广/长沙seo关键词
  • 宣传网站建设方案模板下载/360开户
  • 莱阳网站建设/排行榜123网
  • 苏州网络推广/怎么快速优化关键词排名
  • 整站网站模板/营销型网站案例
  • 靠谱网站建设/标题优化怎样选关键词
  • 青海企业网站建设/网站设计开发网站
  • 如何查找网站备案/北京已感染上千万人
  • 建个网站 做ib代理/seo专员是什么职位
  • 做网站下载那个数据库好/百度搜索大数据
  • 专门做衣服的网站/如何创建一个个人网站
  • 返利网站开发一般要多少钱/宁波网络优化seo
  • 南昌网站建设设计/网络营销试卷及答案
  • 做网站哪家/seo全网营销
  • 如何建一个简单的网站/网站建设公司排行榜
  • MEZZANINE wordpress/东莞网络优化哪家好
  • 阿里云wordpress帮助/关键词优化怎么优化
  • 培训网站建设方案模板下载/网络营销的特点包括
  • 在电脑上做网站的软件/上海百度seo点击软件
  • 快速网站建设/网络推广项目计划书
  • 网页qq登录保护怎么关/seo站长工具下载
  • 建设网站的企业发展历程/武汉关键词包年推广
  • 王爷到剧情介绍/哈尔滨seo优化
  • 普陀网站建设/成功的网络营销案例ppt
  • 中企动力客服电话/seo搜索优化公司排名
  • 建设网站广州/手机关键词seo排名优化