上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 69 下一页

2022年4月13日

|NO.Z.00014|——————————|^^ 部署 ^^|——|Hadoop&Flink.V05|——|Flink.v05|安装部署|Flink.Yarn模式部署|yarn session方式启动|

摘要: 一、Flink.Yarn模式部署 ### 启动一个YARN session(Start a long-running Flink cluster on YARN); ~~~ 方式一:yarn session启动 ~~~ 方式二:per job方式启动 二、YARN Session方式:Flink.y 阅读全文

posted @ 2022-04-13 14:57 yanqi_vip 阅读(174) 评论(0) 推荐(0)

|NO.Z.00015|——————————|^^ 部署 ^^|——|Hadoop&Flink.V06|——|Flink.v06|安装部署|Flink.Yarn模式部署|Per job方式启动|

摘要: 一、方式一:Per job方式 ### 方式一:Per job方式 ~~~ 直接在YARN上提交运行Flink作业(Run a Flink job on YARN) 二、Per job启动流程 三、Per job方式启动实例 ### 启动一个应用实例 ~~~ # 启动一个实例 [root@hadoo 阅读全文

posted @ 2022-04-13 14:57 yanqi_vip 阅读(34) 评论(0) 推荐(0)

|NO.Z.00011|——————————|BigDataEnd|——|Hadoop&Flink.V02|——|Flink.v02|体系结构|运行架构|

摘要: 一、Flink运行架构:Flink程序结构 ### Flink程序结构 ~~~ Flink程序的基本构建块是流和转换(请注意,Flink的DataSet API中使用的DataSet也是内部流)。 ~~~ 从概念上讲,流是(可能永无止境的)数据记录流,而转换是将一个或多个流输入, ~~~ 并产生一个 阅读全文

posted @ 2022-04-13 14:56 yanqi_vip 阅读(35) 评论(0) 推荐(0)

|NO.Z.00012|——————————|^^ 部署 ^^|——|Hadoop&Flink.V03|——|Flink.v03|安装部署|StandAlone模式部署|

摘要: 一、Flink安装和部署 ### Flink支持多种安装模式 ~~~ local(本地):单机模式,一般本地开发调试使用 ~~~ StandAlone 独立模式:Flink自带集群,自己管理资源调度,生产环境也会有所应用 ~~~ Yarn模式:计算资源统一由Hadoop YARN管理,生产环境应用较 阅读全文

posted @ 2022-04-13 14:56 yanqi_vip 阅读(132) 评论(0) 推荐(0)

|NO.Z.00010|——————————|BigDataEnd|——|Hadoop&Flink.V01|——|Flink.v01|体系结构|重要角色|

摘要: 一、Flink的重要角色 ### Flink的重要角色 ~~~ # Flink是非常经典的Master/Slave结构实现,JobManager是Master,TaskManager是Slave。 ~~~ # JobManager处理器(Master) ~~~ 协调分布式执行,它们用来调度task, 阅读全文

posted @ 2022-04-13 14:55 yanqi_vip 阅读(31) 评论(0) 推荐(0)

|NO.Z.00009|——————————|BigDataEnd|——————————————————————————————————————

摘要: NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of 阅读全文

posted @ 2022-04-13 14:55 yanqi_vip 阅读(10) 评论(0) 推荐(0)

|NO.Z.00007|——————————|BigDataEnd|——|Hadoop&Flink.V07|——|Flink.v07|快速应用|单词统计案例|流数据|Scala版|

摘要: 一、单词统计案例(流数据) ### 需求 ~~~ Socket模拟实时发送单词,使用Flink实时接收数据, ~~~ 对指定时间窗口内(如5s)的数据进行聚合统计,每隔1s汇总计算一次, ~~~ 并且把时间窗口内计算结果打印出来。 二、编程代码实现 ### 代码实现 import org.apach 阅读全文

posted @ 2022-04-13 14:54 yanqi_vip 阅读(24) 评论(0) 推荐(0)

|NO.Z.00008|——————————|BigDataEnd|——|Hadoop&Flink.V08|——|Flink.v08|快速应用|单词统计案例|流数据|Java版|

摘要: 一、单词统计案例(流数据) ### 需求 ~~~ Socket模拟实时发送单词,使用Flink实时接收数据, ~~~ 对指定时间窗口内(如5s)的数据进行聚合统计,每隔1s汇总计算一次, ~~~ 并且把时间窗口内计算结果打印出来。 二、编程代码实现 ### 代码实现 package com.yanq 阅读全文

posted @ 2022-04-13 14:54 yanqi_vip 阅读(12) 评论(0) 推荐(0)

|NO.Z.00005|——————————|BigDataEnd|——|Hadoop&Flink.V05|——|Flink.v05|快速应用|单词统计案例|批数据|Java版|

摘要: 一、Flink快速应用 ### Flink快速应用 ~~~ 通过一个单词统计的案例,快速上手应用Flink,进行流处理(Streaming)和批处理(Batch) 二、单词统计案例(批数据)——>Java版 ### 需求 ~~~ 统计一个文件中各个单词出现的次数,把统计结果输出到文件 ~~~ # 步 阅读全文

posted @ 2022-04-13 14:53 yanqi_vip 阅读(26) 评论(0) 推荐(0)

|NO.Z.00006|——————————|BigDataEnd|——|Hadoop&Flink.V06|——|Flink.v06|快速应用|单词统计案例|批数据|Scala版|

摘要: 一、单词统计案例(批数据)——>scala版 ### 需求 ~~~ 统计一个文件中各个单词出现的次数,把统计结果输出到文件 ### 创建scala资源文件夹 ~~~ 创建scala资源文件夹并导入scala依赖环境 二、编程代码实现 ### 编程代码实现 import org.apache.flin 阅读全文

posted @ 2022-04-13 14:53 yanqi_vip 阅读(13) 评论(0) 推荐(0)

|NO.Z.00004|——————————|BigDataEnd|——|Hadoop&Flink.V04|——|Flink.v04|处理模型|流处理批处理|流处理引擎|技术选型|

摘要: 一、Flink 处理模型:流处理与批处理 ### Flink 专注于无限流处理,有限流处理是无限流处理的一种特殊情况 ~~~ # 无限流处理: ~~~ 输入的数据没有尽头,像水流一样源源不断 ~~~ 数据处理从当前或者过去的某一个时间 点开始,持续不停地进行 ~~~ # 有限流处理: ~~~ 从某一 阅读全文

posted @ 2022-04-13 14:52 yanqi_vip 阅读(35) 评论(0) 推荐(0)

|NO.Z.00001|——————————|BigDataEnd|——|Hadoop&Flink.V01|——|Flink.v01|概述特点|什么是Flink|

摘要: 一、Flink概述:什么是Flink ### 什么是 Flink ~~~ Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。 ~~~ Flink被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算。 ~~~ Flink起源于2008年柏林理工大 阅读全文

posted @ 2022-04-13 14:51 yanqi_vip 阅读(16) 评论(0) 推荐(0)

|NO.Z.00002|——————————|BigDataEnd|——|Hadoop&Flink.V02|——|Flink.v02|应用场景|

摘要: 一、Flink 应用场景 ### Flink应用场景 ~~~ Flink主要应用于流式数据分析场景 ~~~ 数据无处不在,绝大多数的企业所采取的处理数据的架构都会划分成两类: ~~~ 事务型处理、分析型处理 二、事务型处理 ### 事务性处理 ~~~ OLTP On-Line Transaction 阅读全文

posted @ 2022-04-13 14:51 yanqi_vip 阅读(13) 评论(0) 推荐(0)

|NO.Z.00003|——————————|BigDataEnd|——|Hadoop&Flink.V03|——|Flink.v03|核心组成|生态发展|

摘要: 一、Flink 核心组成及生态发展 ### Flink核心组成 ~~~ # Deploy层: ~~~ 可以启动单个JVM,让Flink以Local模式运行 ~~~ Flink也可以以Standalone 集群模式运行,同时也支持Flink ON YARN, ~~~ Flink应用直接提交到YARN上 阅读全文

posted @ 2022-04-13 14:51 yanqi_vip 阅读(13) 评论(0) 推荐(0)

|NO.Z.00000|——————————|BigDataEnd|——————————————————————————————————————

摘要: NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of 阅读全文

posted @ 2022-04-13 14:50 yanqi_vip 阅读(18) 评论(0) 推荐(0)

|NO.Z.00111|——————————|BigDataEnd|——————————————————————————————————————

摘要: NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of 阅读全文

posted @ 2022-04-13 14:42 yanqi_vip 阅读(10) 评论(0) 推荐(0)

|NO.Z.10000|——————————|BigDataEnd|——————————————————————————————————————

摘要: NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of 阅读全文

posted @ 2022-04-13 14:42 yanqi_vip 阅读(6) 评论(0) 推荐(0)

|NO.Z.00110|——————————|BigDataEnd|——|Hadoop&Spark.V08|——|Spark.v08|Spark 原理 源码|Spark优化|

摘要: 一、Spark优化 ### 编码优化: ~~~ ① RDD复用 ~~~ ② RDD持久化 ~~~ ③ 巧用 filter ~~~ ④ 选择高性能算子 ~~~ ⑤ 设置合并的并行度 ~~~ ⑥ 广播大变量 ~~~ ⑦ Kryo序列化 ~~~ ⑧ 多使用Spark SQL ~~~ ⑨ 优化数据结构 ~~ 阅读全文

posted @ 2022-04-13 14:41 yanqi_vip 阅读(44) 评论(0) 推荐(0)

|NO.Z.00107|——————————|BigDataEnd|——|Hadoop&Spark.V05|——|Spark.v05|Spark 原理 源码|BlockManager|

摘要: 一、BlockManager ### BlockManager ~~~ BlockManager是一个嵌入在 Spark 中的 key-value型分布式存储系统,也是 Master-Slave 结构的, ~~~ RDD-cache、shuffle-output、broadcast 等的实现都是基于 阅读全文

posted @ 2022-04-13 14:40 yanqi_vip 阅读(37) 评论(0) 推荐(0)

|NO.Z.00108|——————————|BigDataEnd|——|Hadoop&Spark.V06|——|Spark.v06|Spark 原理 源码|数据倾斜&基本概念|

摘要: 一、数据倾斜 ### 基本概念 ~~~ 这是我们期望的处理模式: ### 什么是数据倾斜 ~~~ Task之间数据分配的非常不均匀 ~~~ key.hashCode % reduce个数 = 分区号 ### 数据倾斜有哪些现象 ~~~ Executor lost、OOM、Shuffle过程出错、程序 阅读全文

posted @ 2022-04-13 14:40 yanqi_vip 阅读(22) 评论(0) 推荐(0)

|NO.Z.00109|——————————|BigDataEnd|——|Hadoop&Spark.V07|——|Spark.v07|Spark 原理 源码|数据倾斜&数据倾斜处理|

摘要: 一、数据倾斜处理 ### 做好数据预处理: ~~~ 过滤key中的空值 ~~~ 消除数据源带来的数据倾斜(文件采用可切分的压缩方式) ~~~ 数据倾斜产生的主要原因:Shuffle + key分布不均 ### 处理数据倾斜的基本思路: ~~~ 消除shuffle ~~~ 减少shuffle过程中传输 阅读全文

posted @ 2022-04-13 14:40 yanqi_vip 阅读(43) 评论(0) 推荐(0)

|NO.Z.00106|——————————|BigDataEnd|——|Hadoop&Spark.V04|——|Spark.v04|Spark 原理 源码|内存管理&执行内存管理|

摘要: 一、执行内存管理 ### 执行内存管理 ~~~ 执行内存主要用来存储任务在执行 Shuffle 时占用的内存, ~~~ Shuffle 是按照一定规则对 RDD 数据重新分区的过程, ~~~ Shuffle 的 Write 和 Read 两阶段对执行内存的使用: ### Shuffle Write 阅读全文

posted @ 2022-04-13 14:39 yanqi_vip 阅读(26) 评论(0) 推荐(0)

|NO.Z.00105|——————————|BigDataEnd|——|Hadoop&Spark.V03|——|Spark.v03|Spark 原理 源码|内存管理&存储内存管理|

摘要: 一、存储内存管理 ### 存储内存管理 ~~~ 堆内内存:系统保留(300M)、Other、存储内存、执行内存 ~~~ 堆外内存:存储内存、执行内存 ~~~ 存储内存:RDD缓存的数据 & 共享变量 ~~~ RDD的持久化 ~~~ RDD缓存的过程 ~~~ 淘汰与落盘 二、RDD 持久化机制 ### 阅读全文

posted @ 2022-04-13 14:38 yanqi_vip 阅读(34) 评论(0) 推荐(0)

2022年4月12日

|NO.Z.00103|——————————|BigDataEnd|——|Hadoop&Spark.V01|——|Spark.v01|Spark 原理 源码|内存管理&堆内内存与堆外内存|

摘要: 一、内存管理 ### 内存管理 ~~~ 在执行 Spark 的应用程序时,Spark 集群会启动 Driver 和 Executor 两种 JVM 进程: ~~~ Driver为主控进程,负责创建 Spark 上下文,提交 Spark 作业,将作业转化为 Task, ~~~ 并在各个 Executo 阅读全文

posted @ 2022-04-12 13:56 yanqi_vip 阅读(28) 评论(0) 推荐(0)

|NO.Z.00104|——————————|BigDataEnd|——|Hadoop&Spark.V02|——|Spark.v02|Spark 原理 源码|内存管理&静态内存管理&统一内存管理|

摘要: 一、静态内存管理 ### 静态内存管理 ### 静态内存架构 ~~~ Spark 2.0 以前版本采用静态内存管理机制。存储内存、 ~~~ 执行内存和其他内存的大小在 Spark 应用程序运行期间均为固定的, ~~~ 但用户可以应用程序启动前进行配置,堆内内存的分配如下图所示: ### 静态内存管理 阅读全文

posted @ 2022-04-12 13:56 yanqi_vip 阅读(37) 评论(0) 推荐(0)

|NO.Z.00102|——————————|BigDataEnd|——————————————————————————————————————

摘要: NO: Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of 阅读全文

posted @ 2022-04-12 13:55 yanqi_vip 阅读(15) 评论(0) 推荐(0)

|NO.Z.00099|——————————|BigDataEnd|——|Hadoop&Spark.V15|——|Spark.v15|Spark 原理 源码|Shuffle详解&Shuffle Writer&Shuffle MapOutputTracker&Shuffle Reader|

摘要: 一、Shuffle Writer ### Shuffle Writer:ShuffleWriter(抽象类),有3个具体的实现: ~~~ SortShuffleWriter。sortShulleWriter 需要在 Map 排序 ~~~ UnsafeShuffleWriter。使用 Java Uns 阅读全文

posted @ 2022-04-12 13:54 yanqi_vip 阅读(40) 评论(0) 推荐(0)

|NO.Z.00101|——————————|BigDataEnd|——|Hadoop&Spark.V16|——|Spark.v16|Spark 原理 源码|Shuffle详解&Hadoop Shuffle 与 Spark Shuffle 的区别&Shuffle优化|

摘要: 一、Hadoop Shuffle 与 Spark Shuffle 的区别 ### 共同点: ~~~ 二者从功能上看是相似的;从High Level来看,没有本质区别,实现(细节)上有区别 ### 实现上的区别: ~~~ Hadoop中有一个Map完成,Reduce便可以去fetch数据了,不必等到所 阅读全文

posted @ 2022-04-12 13:54 yanqi_vip 阅读(34) 评论(0) 推荐(0)

|NO.Z.00096|——————————|BigDataEnd|——|Hadoop&Spark.V12|——|Spark.v12|Spark 原理 源码|Shuffle详解&Spark Shuffle的两个阶段&Spark Shuffle技术演进|

摘要: 一、Shuffle详解 ### shuffle详解 ~~~ 在 Spark 或 MapReduce 分布式计算框架中,数据被分成一块一块的分区, ~~~ 分布在集群中各节点上,每个计算任务一次处理一个分区, ~~~ 当需要对具有某种共同特征的一类数据进行计算时,就需要将集群中的这类数据汇聚到同一节点 阅读全文

posted @ 2022-04-12 13:53 yanqi_vip 阅读(39) 评论(0) 推荐(0)

|NO.Z.00097|——————————|BigDataEnd|——|Hadoop&Spark.V13|——|Spark.v13|Spark 原理 源码|Shuffle详解&Hash Shuffle V1&Hash Shuffle V2 -- File Consolidation|

摘要: 一、Hash Shuffle V1 ### Hash Shuffle V1 ~~~ 相对于传统的 MapReduce, ~~~ Spark 假定大多数情况下 Shuffle 的数据不需要排序,强制排序反而会降低性能。 ~~~ 因此不在 Shuffle Read 时做 Merge Sort,如果需要合 阅读全文

posted @ 2022-04-12 13:53 yanqi_vip 阅读(29) 评论(0) 推荐(0)

|NO.Z.00098|——————————|BigDataEnd|——|Hadoop&Spark.V14|——|Spark.v14|Spark 原理 源码|Shuffle详解&Sort Shuffle V1&Sort Shuffle V2|

摘要: 一、Sort Shuffle V1 ### Sort Shuffle V1 ~~~ 为了更好地解决上面的问题,Spark 参考了 MapReduce 中 Shuffle 的处理方式, ~~~ 引入基于排序的 Shuffle 写操作机制。 ~~~ 每个 Task 不会为后续的每个 Task 创建单独的 阅读全文

posted @ 2022-04-12 13:53 yanqi_vip 阅读(33) 评论(0) 推荐(0)

|NO.Z.00095|——————————|BigDataEnd|——|Hadoop&Spark.V11|——|Spark.v11|Spark 原理 源码|作业执行原理&本地化调度&返回结果&失败重试与黑名单机制|

摘要: 一、本地化调度 ### 本地化调度 ~~~ DAGScheduler切割Job,划分Stage。 ~~~ 调用submitStage来提交一个Stage对应的tasks,submitStage会调用submitMissingTasks, ~~~ submitMissingTasks 确定每个需要计算 阅读全文

posted @ 2022-04-12 13:52 yanqi_vip 阅读(30) 评论(0) 推荐(0)

|NO.Z.00093|——————————|BigDataEnd|——|Hadoop&Spark.V09|——|Spark.v09|Spark 原理 源码|作业执行原理&Task调度|

摘要: 一、Task调度 ### Task调度 ### TaskSetManager 结构如下图所示: ~~~ Task 的调度是由 TaskScheduler 来完成(底层调度)。 ~~~ DAGScheduler 将 Stage 打包到 TaskSet 交给TaskScheduler, ~~~ Task 阅读全文

posted @ 2022-04-12 13:51 yanqi_vip 阅读(22) 评论(0) 推荐(0)

|NO.Z.00094|——————————|BigDataEnd|——|Hadoop&Spark.V10|——|Spark.v10|Spark 原理 源码|作业执行原理&调度策略|

摘要: 一、作业执行原理 ### 调度策略 ~~~ TaskScheduler会先把 DAGScheduler 给过来的 TaskSet 封装成 TaskSetManager 扔到任务队列里, ~~~ 然后再从任务队列里按照一定规则把它们取出来,由 SchedulerBackend 发送给Executor运 阅读全文

posted @ 2022-04-12 13:51 yanqi_vip 阅读(38) 评论(0) 推荐(0)

|NO.Z.00092|——————————|BigDataEnd|——|Hadoop&Spark.V08|——|Spark.v08|Spark 原理 源码|作业执行原理&Stage划分&提交Task|

摘要: 一、Stage划分 ### 提交 Task ~~~ 得到RDD中需要计算的partition ~~~ 对于Shuffle类型的stage,需要判断stage中是否缓存了该结果; ~~~ 对于Result类型的Final Stage,则判断计算Job中该partition是否已经计算完成。 ~~~ 这 阅读全文

posted @ 2022-04-12 13:51 yanqi_vip 阅读(27) 评论(0) 推荐(0)

|NO.Z.00091|——————————|BigDataEnd|——|Hadoop&Spark.V07|——|Spark.v07|Spark 原理 源码|作业执行原理&Stage划分&提交ResultStage|

摘要: 一、Stage划分 ### 提交ResultStage ~~~ submitStage 方法会通过入参 ResultStage 逐层获取父stage, ~~~ 再从最上游stage开始逐步调用TaskScheduler.submitTasks 方法提交task集合, ~~~ 最后才提交ResultS 阅读全文

posted @ 2022-04-12 13:50 yanqi_vip 阅读(23) 评论(0) 推荐(0)

|NO.Z.00089|——————————|BigDataEnd|——|Hadoop&Spark.V05|——|Spark.v05|Spark 原理 源码|作业执行原理&Stage划分&调用dagScheduler.handleJobSumitted|

摘要: 一、Stage划分 ### 调用 dagScheduler.handleJobSubmitted ~~~ # 源码提取说明:DAGScheduler.scala ~~~ # 952行~1015行 // 处理Job的提交 private[scheduler] def handleJobSubmitte 阅读全文

posted @ 2022-04-12 13:49 yanqi_vip 阅读(16) 评论(0) 推荐(0)

|NO.Z.00090|——————————|BigDataEnd|——|Hadoop&Spark.V06|——|Spark.v06|Spark 原理 源码|作业执行原理&Stage划分&handleJobSubmitted => createResultStage|

摘要: 一、Stage划分 ### handleJobSubmitted => createResultStage ~~~ # 源码提取说明: ~~~ # 440行~522行 private def createResultStage( rdd: RDD[_], func: (TaskContext, It 阅读全文

posted @ 2022-04-12 13:49 yanqi_vip 阅读(29) 评论(0) 推荐(0)

|NO.Z.00087|——————————|BigDataEnd|——|Hadoop&Spark.V03|——|Spark.v03|Spark 原理 源码|作业执行原理&Stage划分&DAGScheduler中的重要对象|

摘要: 一、Stage划分 ### Stage划分 ~~~ Spark的任务调度从 DAG 划分开始,由 DAGScheduler 完成 ~~~ DAGScheduler 根据 RDD 的血缘关系构成的 DAG 进行切分,将一个Job划分为若干Stages, ~~~ 具体划分策略是:从最后一个RDD开始, 阅读全文

posted @ 2022-04-12 13:48 yanqi_vip 阅读(32) 评论(0) 推荐(0)

|NO.Z.00088|——————————|BigDataEnd|——|Hadoop&Spark.V04|——|Spark.v04|Spark 原理 源码|作业执行原理&Stage划分&dagScheduler.submit 发送消息|

摘要: 一、stage划分 ### dagScheduler.submit 发送消息 ~~~ # 源码提取说明:DAGScheduler.scala ~~~ # 676行~703行 def submitJob[T, U]( rdd: RDD[T], func: (TaskContext, Iterator[ 阅读全文

posted @ 2022-04-12 13:48 yanqi_vip 阅读(34) 评论(0) 推荐(0)

上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 69 下一页

导航