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

武陵天下网站建设百度一下点击搜索

武陵天下网站建设,百度一下点击搜索,台州外发加工网,泉州3d建模培训文章目录 一、整体架构概述二、核心组件详解1. SparkContext2. DAG Scheduler3. Task Scheduler4. Executor 三、作业执行流程1. DAG 生成与 Stage 划分2. Task 调度与执行3. 内存管理 四、Shuffle 机制详解1. Shuffle 过程2. Shuffle 优化 五、内存管理机制1. 统一内存管理Unified Memory Management2. Tungsten 优化 六、容错机制1. Lineage血统2. Checkpoint3. 任务重试 七、调度策略1. 任务调度2. 推测执行 八、性能优化关键点1. 数据本地性2. 并行度调整3. 内存调优 九、高级特性1. Catalyst 优化器2. Tungsten 项目 十、监控与调试工具1. Spark UI2. 事件日志3. Spark 性能调优工具 一、整体架构概述 Spark 采用主从架构Master-Slave主要组件包括 Driver Program运行用户应用的 main 函数负责创建 SparkContext、分析作业、调度任务。Cluster Manager资源管理器如 YARN、Mesos、Standalone。Worker Node集群中的工作节点负责执行具体任务。ExecutorWorker 节点上的进程负责运行任务并缓存数据。 执行流程 用户提交应用Driver 启动并创建 SparkContext。SparkContext 连接 Cluster Manager请求资源。Cluster Manager 分配资源在 Worker 节点上启动 Executor。Driver 将任务分发给 Executor 执行。Executor 向 Driver 汇报任务状态和结果。 二、核心组件详解 1. SparkContext 是 Spark 应用的入口负责与 Cluster Manager 通信协调资源分配。管理 RDD 的依赖关系血统图并生成 DAG有向无环图。 2. DAG Scheduler 将作业Job分解为多个阶段Stage每个阶段包含多个任务Task。根据 RDD 的依赖关系划分 Stage 宽依赖如 shuffle会触发新的 Stage。窄依赖如 map、filter会被合并到同一个 Stage。 3. Task Scheduler 将 Task 分配给具体的 Executor 执行。负责任务调度、重试失败的任务以及处理推测执行Speculative Execution。 4. Executor 负责执行 Task并将结果返回给 Driver。维护内存缓存存储 RDD 分区数据。 三、作业执行流程 1. DAG 生成与 Stage 划分 # 示例代码 rdd sc.textFile(data.txt) # 读取文件创建 RDD words rdd.flatMap(lambda line: line.split()) # 转换操作 pairs words.map(lambda word: (word, 1)) # 转换操作 counts pairs.reduceByKey(lambda a, b: a b) # 触发 Shuffle counts.collect() # 动作操作触发作业执行执行流程 collect() 触发作业提交。DAG Scheduler 将作业划分为两个 Stage Stage 1执行 textFile、flatMap、map 操作。Stage 2执行 reduceByKey 和 collect 操作依赖于 Stage 1 的输出。 2. Task 调度与执行 ShuffleMapTask执行 Stage 1 的任务输出中间结果Shuffle 文件。ResultTask执行 Stage 2 的任务读取 Shuffle 文件并聚合结果。 3. 内存管理 Storage Memory存储缓存的 RDD 和 DataFrame。Execution Memory执行 Shuffle、聚合、排序等操作的内存。User Memory用户代码使用的内存。 四、Shuffle 机制详解 1. Shuffle 过程 Map 端 将数据分区并写入内存缓冲区。缓冲区满时溢写到磁盘生成多个小文件。最终合并所有小文件为一个大文件并生成索引。 Reduce 端 从各个 Map 任务拉取属于自己的数据。合并数据并按 key 排序。执行聚合或其他操作。 2. Shuffle 优化 Sort Shuffle默认实现减少文件数量。Tungsten-Sort Shuffle基于内存管理框架 Tungsten提高效率。自适应执行Spark 3.0动态调整 Shuffle 分区数。 五、内存管理机制 1. 统一内存管理Unified Memory Management Spark 1.6 引入Storage 和 Execution 内存可相互借用# 内存配置参数 spark.memory.fraction 0.6 # 统一内存占堆内存的比例 spark.memory.storageFraction 0.5 # Storage 内存占统一内存的比例2. Tungsten 优化 堆外内存减少 GC 压力提高内存访问效率。二进制格式直接操作二进制数据避免 Java 对象开销。 六、容错机制 1. Lineage血统 RDD 记录其创建过程依赖关系当部分分区丢失时可通过重新计算恢复。 2. Checkpoint 将 RDD 写入可靠存储如 HDFS切断血统关系用于长依赖链的 RDD。rdd.checkpoint() # 设置检查点3. 任务重试 Task 失败时Task Scheduler 会自动重试默认 4 次。 七、调度策略 1. 任务调度 FIFO默认先进先出。FAIR公平调度支持多作业共享资源。# 启用公平调度 spark.conf.set(spark.scheduler.mode, FAIR)2. 推测执行 当某个任务执行缓慢时会在其他节点启动副本任务取最先完成的结果。# 启用推测执行 spark.conf.set(spark.speculation, true)八、性能优化关键点 1. 数据本地性 PROCESS_LOCAL数据在同一 JVM 内最快。NODE_LOCAL数据在同一节点但需跨进程传输。RACK_LOCAL数据在同一机架的不同节点。ANY数据在任意位置。 2. 并行度调整 根据集群资源设置合理的并行度# 设置默认并行度 spark.conf.set(spark.default.parallelism, 200)3. 内存调优 调整 Executor 内存和堆外内存spark.executor.memory 8g spark.memory.offHeap.enabled true spark.memory.offHeap.size 2g九、高级特性 1. Catalyst 优化器 Spark SQL 的查询优化器将 SQL 查询转换为高效的物理执行计划 分析解析 SQL 语句检查表和列是否存在。逻辑优化应用规则优化逻辑计划如谓词下推、投影修剪。物理计划生成生成多个物理计划并选择最优。代码生成将执行计划编译为 Java 字节码。 2. Tungsten 项目 优化内存和 CPU 利用率 二进制数据处理减少内存占用。避免 Java 对象开销直接操作内存。 十、监控与调试工具 1. Spark UI 查看作业、阶段、任务的执行情况内存使用等指标。 2. 事件日志 记录作业执行的详细信息可用于离线分析# 启用事件日志 spark.eventLog.enabled true spark.eventLog.dir hdfs:///spark-logs3. Spark 性能调优工具 Shuffle 调优分析 Shuffle 性能瓶颈。SQL 执行计划分析查看 SQL 查询的优化过程。
http://www.pierceye.com/news/393583/

相关文章:

  • 企业网站管理系统的运维服务建设黑彩网站需要什么
  • 揭阳自助建站大数据就业方向及前景
  • 提供盐城网站开发dreamwearver可以做网站吗
  • 龙岩市建设局网站求大哥给个狼站2022
  • 优化算法 网站让移动网站
  • tomcat 怎么做网站网站免费推广平台
  • 山东定制型网站建设推广上传的网站打不开
  • 定制一个企业网站多少钱东莞网站竞价推广运营
  • o2o的网站有哪些制作简单网页的步骤
  • 东莞网站设计制作教程网站架构的重要性
  • 网站建设 企业观点南阳做网站aokuo
  • 深圳做网站(信科网络)减肥产品网站模板
  • 在线教育网站开发方案wordpress 内存超限
  • 网站上的网站地图怎么做中国建设银行官网开户行查询
  • 大学网站建设wordpress函数调用
  • 如何上传自己做的网站wordpress the content
  • 公司网站介绍范文dede手机网站标签
  • 彩票网站什么做公司内部网络怎么建立
  • 江苏网站备案要多久wordpress素材模板怎么用
  • 淄博网站建设有实力wordpress 异常
  • 卖汽车的网站怎么做百度图片点击变网站是怎么做的
  • 可以做英文教师的网站桂阳网站建设
  • 常州网站建设外包WordPress cos媒体库
  • 教着做美食的网站wordpress 无法安装主题
  • 只选设计师的网站牛商网是干什么的
  • 网站设计中新闻版块怎么做乐清新闻联播
  • 网站开发维护员挣钱吗全球电子商务公司排行
  • 祥云县住房和城乡建设网站百度热议排名软件
  • 网站开发攻克时间网站模版制作教程
  • 遵义一般做一个网站需要多少钱菲斯曼售后服务中心