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 阅读(34) 评论(0) 推荐(0)

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

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

posted @ 2022-04-12 13:56 yanqi_vip 阅读(41) 评论(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 阅读(21) 评论(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 阅读(49) 评论(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 阅读(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 阅读(34) 评论(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 阅读(44) 评论(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 阅读(43) 评论(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 阅读(35) 评论(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 阅读(42) 评论(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 阅读(33) 评论(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 阅读(30) 评论(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 阅读(17) 评论(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 阅读(31) 评论(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 阅读(38) 评论(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 阅读(37) 评论(0) 推荐(0)

|NO.Z.00085|——————————|BigDataEnd|——|Hadoop&Spark.V01|——|Spark.v01|Spark 原理 源码|作业执行原理&任务调度概述|

摘要: 一、作业执行原理 ### 任务调度概述 ~~~ 再次简要回顾 Spark 中的几个重要概念: ~~~ Job 是以 Action 方法为界,遇到一个 Action 方法则触发一个 Job ~~~ Stage 是 Job 的子集,以 RDD 宽依赖(即 Shuffle)为界,遇到 Shuffle 做一 阅读全文

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

|NO.Z.00086|——————————|BigDataEnd|——|Hadoop&Spark.V02|——|Spark.v02|Spark 原理 源码|作业执行原理&job触发|

摘要: 一、作业执行原理 ### job触发 ~~~ Action 操作后会触发 Job 的计算,并交给 DAGScheduler 来提交。 二、作业执行原理 ### 作业执行原理 ~~~ Action 触发 sc.runJob ~~~ 触发 dagScheduler.runJob ~~~ spark.lo 阅读全文

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

|NO.Z.00084|——————————|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:46 yanqi_vip 阅读(13) 评论(0) 推荐(0)

|NO.Z.00083|——————————|BigDataEnd|——|Hadoop&Spark.V09|——|Spark.v09|Spark 原理 源码|Spark Context&三大组件启动流程|

摘要: 一、三大组件启动流程 ### 三大组件启动流程 ~~~ DAGScheduler(高层调度器,class): ~~~ 负责将 DAG 拆分成不同Stage的具有依赖关系(包含RDD的依赖关系)的多批任务, ~~~ 然后提交给TaskScheduler进行具体处理 ~~~ TaskScheduler( 阅读全文

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

|NO.Z.00081|——————————|BigDataEnd|——|Hadoop&Spark.V07|——|Spark.v07|Spark 原理 源码|Spark Context&Spark Env内部组件|

摘要: 一、Spark Env内部组件 ### SparkEnv内部组件 ~~~ SparkEnv是spark计算层的基石,不管是 Driver 还是 Executor, ~~~ 都需要依赖SparkEnv来进行计算,它是Spark的执行环境对象, ~~~ 其中包括与众多Executor执行相关的对象。 ~ 阅读全文

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

|NO.Z.00082|——————————|BigDataEnd|——|Hadoop&Spark.V08|——|Spark.v08|Spark 原理 源码|Spark Context&Spark Context启动流程|

摘要: 一、SparkContext启动流程 ### sparkContext启动流程 ~~~ SparkContext 涉及到的组件多,源码比较庞大。 ~~~ 有些边缘性的模块主要起到辅助的功能,暂时省略。 ~~~ 本文主要关心 SparkContext整体启动流程、三大组件的启动。 ~~~ 初始化部分的 阅读全文

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

|NO.Z.00078|——————————|BigDataEnd|——|Hadoop&Spark.V04|——|Spark.v04|Spark 原理 源码|Master Worker解析&Worker启动流程|

摘要: 一、Master Worker解析 ### 源码提取说明:Worker启动流程 ~~~ # 源码提取说明:Worker.scala ~~~ # 18行~90行 package org.apache.spark.deploy.worker private[deploy] class Worker( o 阅读全文

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

|NO.Z.00079|——————————|BigDataEnd|——|Hadoop&Spark.V05|——|Spark.v05|Spark 原理 源码|Master Worker解析&模拟程序|

摘要: 一、模拟程序 ### 编程代码实现: package org.apache.spark.deploy import java.text.SimpleDateFormat import java.util.{Date, Locale} import java.util.concurrent.TimeU 阅读全文

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

|NO.Z.00080|——————————|BigDataEnd|——|Hadoop&Spark.V06|——|Spark.v06|Spark 原理 源码|Spark Context&Spark Context内部组件|

摘要: 一、SparkContext ### SparkContext内部组件 ~~~ Spark应用程序的第一步就是创建并初始化SparkContext, ~~~ SparkContext的初始化过程包含了内部组件的创建和准备, ~~~ 主要涉及网络通信、分布式、消息、存储、计算、调度、缓存、度量、清理、 阅读全文

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

|NO.Z.00077|——————————|BigDataEnd|——|Hadoop&Spark.V03|——|Spark.v03|Spark 原理 源码|Master Worker解析&Master启动流程|

摘要: 一、Master 启动流程 ### Master启动流程 ~~~ Master是RpcEndpoint,实现了 RpcEndpoint 接口 ~~~ Master的生命周期遵循 constructor -> onStart -> receive* -> onStop 的步骤 ~~~ Master 的 阅读全文

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

|NO.Z.00075|——————————|BigDataEnd|——|Hadoop&Spark.V01|——|Spark.v01|Spark 原理 源码|Spark Runtime|

摘要: 一、Spark 原理 ### Spark 原理主要包括 : ~~~ 核心组件的运行机制(Master、Worker、SparkContext等) ~~~ 任务调度的原理 ~~~ Shuffle原理 ~~~ 内存管理 ~~~ 数据倾斜处理 ~~~ Spark优化 ~~~ 熟练掌握 Spark 内核原理 阅读全文

posted @ 2022-04-12 13:41 yanqi_vip 阅读(35) 评论(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-12 13:41 yanqi_vip 阅读(9) 评论(0) 推荐(0)

|NO.Z.00076|——————————|BigDataEnd|——|Hadoop&Spark.V02|——|Spark.v02|Spark 原理 源码|Master Worker解析&Spark RPC框架|

摘要: 一、Master & Worker 解析 ### Spark RPC 框架 ~~~ RPC(Remote Procedure Call)远程过程调用。 ~~~ 两台服务器A、B,A服务器上的应用,想要调用B服务器上应用提供的函数/方法, ~~~ 由于不在一个内存空间,不能直接调用,需要通过网络来表达 阅读全文

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

|NO.Z.00074|——————————|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:40 yanqi_vip 阅读(8) 评论(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-12 13:40 yanqi_vip 阅读(20) 评论(0) 推荐(0)

|NO.Z.00073|——————————|BigDataEnd|——|Hadoop&Spark.V05|——|Spark.v05|Spark GraphX|Spark GraphX计算|寻找相同用户合并信息|

摘要: 一、Spark GraphX计算:寻找相同的用户,合并信息 ### 寻找相同的用户,合并信息 ~~~ 假设有五个不同信息可以作为用户标识,分别为:1X、2X、3X、4X、5X; ~~~ 每次可以选择使用若干为字段作为标识 ~~~ 部分标识可能发生变化,如:12 => 13 或 24 => 25 ## 阅读全文

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

|NO.Z.00071|——————————|BigDataEnd|——|Hadoop&Spark.V03|——|Spark.v03|Spark GraphX|Spark GraphX计算|图基本操作|

摘要: 一、Spark GraphX计算 ### Spark GraphX计算 ~~~ 图的定义 ~~~ 属性操作 ~~~ 转换操作 ~~~ 结构操作 ~~~ 关联操作 ~~~ 聚合操作 ~~~ Pregel API 二、图的基本操作 三、编程实现:SparkGraphX计算 ### 在pom.xml下添加 阅读全文

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

|NO.Z.00072|——————————|BigDataEnd|——|Hadoop&Spark.V04|——|Spark.v04|Spark GraphX|Spark GraphX计算|连通图算法|

摘要: 一、Spark GraphX计算:连通图算法 ### 编程代码实现:给定数据文件,找到存在的连通体 package cn.yanqi.graphx import org.apache.spark.graphx.{Graph, GraphLoader} import org.apache.spark. 阅读全文

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

|NO.Z.00070|——————————|BigDataEnd|——|Hadoop&Spark.V02|——|Spark.v02|Spark GraphX|基础|

摘要: 一、Spark GraphX 基础 ### SparkGraphX基础 ~~~ 架构 ~~~ 存储模式 ~~~ 核心数据结构 ~~~ GraphX 与 Spark 其他组件相比相对独立,拥有自己的核心数据结构与算子。 二、GraphX 架构 ### GraphX的整体架构可以分为三个部分: ~~~ 阅读全文

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

|NO.Z.00069|——————————|BigDataEnd|——|Hadoop&Spark.V01|——|Spark.v01|Spark GraphX|概述|

摘要: 一、Spark GraphX ### Spark GraphX概述 ~~~ GraphX 是 Spark 一个组件,专门用来表示图以及进行图的并行计算。 ~~~ GraphX 通过重新定义了图的抽象概念来拓展了 RDD: 定向多图,其属性附加到每个顶点和边。 ~~~ 为了支持图计算, ~~~ Gra 阅读全文

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

|NO.Z.00068|——————————|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:36 yanqi_vip 阅读(11) 评论(0) 推荐(0)

|NO.Z.00067|——————————|^^ 重要 ^^|——|Hadoop&Spark.V05|——|Spark.v05|Spark Streaming|与kafka整合|Redis管理Offse|

摘要: 一、Redis管理的Offset ### 要想将Offset保存到外部存储中,关键要实现以下几个功能: ~~~ Streaming程序启动时,从外部存储获取保存的Offsets(执行一次) ~~~ 在foreachRDD中,每个批次数据处理之后,更新外部存储的offsets(多次执行) ### 在p 阅读全文

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

|NO.Z.00066|——————————|BigDataEnd|——|Hadoop&Spark.V04|——|Spark.v04|Spark Streaming|与kafka整合|offset管理|

摘要: 一、Offset 管理 ### Offset管理 ~~~ Spark Streaming集成Kafka,允许从Kafka中读取一个或者多个 topic 的数据。 ~~~ 一个Kafka Topic包含一个或多个分区,每个分区中的消息顺序存储,并使用 offset 来标记消息的位置。 ~~~ 开发者可 阅读全文

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

|NO.Z.00065|——————————|^^ 重要 ^^|——|Hadoop&Spark.V03|——|Spark.v03|Spark Streaming|与kafka整合|Kafka-010接口|

摘要: 一、Kafka-010 接口 ### kafka-010接口 ~~~ Spark Streaming与kafka 0.10的整合,和0.8版本的 Direct 方式很像。 ~~~ Kafka的分区和Spark的RDD分区是一一对应的,可以获取 offsets 和元数据, ~~~ API 使用起来没有 阅读全文

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

|NO.Z.00063|——————————|BigDataEnd|——|Hadoop&Spark.V01|——|Spark.v01|Spark Streaming|与kafka整合|

摘要: 一、与Kafka整合 ### 与kafka整合 ~~~ 官网:http://spark.apache.org/docs/2.4.5/streaming-kafka-integration.html ### Streaming与kafka整合版本对照 ~~~ 针对不同的spark、kafka版本,集成 阅读全文

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

|NO.Z.00064|——————————|^^ 重要 ^^|——|Hadoop&Spark.V02|——|Spark.v02|Spark Streaming|与kafka整合|Kafka-08 接口|

摘要: 一、Kafka-08 接口 ### Receiver based Approach ~~~ 基于 Receiver 的方式使用 Kafka 旧版消费者高阶API实现。 ~~~ 对于所有的 Receiver,通过 Kafka 接收的数据被存储于 Spark 的 Executors上, ~~~ 底层是写 阅读全文

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

|NO.Z.00060|——————————|BigDataEnd|——|Hadoop&Spark.V07|——|Spark.v07|Spark Streaming|DStream转换操作|有状态转换|

摘要: 一、有状态转换 ### 有状态转换 ~~~ 有状态的转换主要有两种:窗口操作、状态跟踪操作 ### 窗口操作 ~~~ Window Operations可以设置窗口大小和滑动窗口间隔来动态的获取当前Streaming的状态。 ~~~ 基于窗口的操作会在一个比 StreamingContext 的 b 阅读全文

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

|NO.Z.00061|——————————|BigDataEnd|——|Hadoop&Spark.V08|——|Spark.v08|Spark Streaming|DStream输出操作|

摘要: 一、DStream输出操作 ### DStream输出操作 ~~~ 输出操作定义 DStream 的输出操作。 ~~~ 与 RDD 中的惰性求值类似,如果一个 DStream 及其派生出的 DStream 都没有被执行输出操作, ~~~ 那么这些 DStream 就都不会被求值。 ~~~ 如果 St 阅读全文

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

|NO.Z.00062|——————————|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:32 yanqi_vip 阅读(21) 评论(0) 推荐(0)

|NO.Z.00058|——————————|BigDataEnd|——|Hadoop&Spark.V05|——|Spark.v05|Spark Streaming|DStream转换操作|

摘要: 一、DStream转换操作 ### DStream转换操作 ~~~ DStream上的操作与RDD的类似, ~~~ 分为 Transformations(转换)和 OutputOperations(输出)两种, ~~~ 此外转换操作中还有一些比较特殊的方法,如: ~~~ updateStateByK 阅读全文

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

|NO.Z.00059|——————————|BigDataEnd|——|Hadoop&Spark.V06|——|Spark.v06|Spark Streaming|DStream转换操作|无状态转换|

摘要: 一、无状态转换 ### 无状态转换 ~~~ 无状态转化操作就是把简单的 RDD 转化操作应用到每个批次上, ~~~ 也就是转化DStream 中的每一个 RDD。 ~~~ 常见的无状态转换包括:map、flatMap、filter、repartition、reduceByKey、groupByKey 阅读全文

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

|NO.Z.00057|——————————|BigDataEnd|——|Hadoop&Spark.V04|——|Spark.v04|Spark Streaming|DStream数据源|RDD队列流|

摘要: 一、RDD队列流 ### RDD队列流 ~~~ 调试Spark Streaming应用程序的时候, ~~~ 可使用streamingContext.queueStream(queueOfRDD) 创建基于RDD队列的DStream; ### 源码提取说明 ~~~ # 源码提取说明:Streaming 阅读全文

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

|NO.Z.00056|——————————|BigDataEnd|——|Hadoop&Spark.V03|——|Spark.v03|Spark Streaming|DStream数据源|socket数据流|

摘要: 一、socket数据流 ### Socket数据流 ~~~ Spark Streaming可以通过Socket端口监听并接收数据,然后进行相应处理; ~~~ 新开一个命令窗口,启动 nc 程序: nc -lk 9999 # yum install nc ~~~ # 随后可以在nc窗口中随意输入一些单 阅读全文

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

|NO.Z.00055|——————————|BigDataEnd|——|Hadoop&Spark.V02|——|Spark.v02|Spark Streaming|DStream数据源|文件数据流|

摘要: 一、DStream基础数据源 ### DStream基础数据源 ~~~ 基础数据源包括:文件数据流、socket数据流、RDD队列流;这些数据源主要用于测试。 ### 引入依赖: <dependency> <groupId>org.apache.spark</groupId> <artifactId 阅读全文

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

|NO.Z.00054|——————————|BigDataEnd|——|Hadoop&Spark.V01|——|Spark.v01|Spark Streaming|概述|

摘要: 一、Spark Streaming ### Spark Streaming ~~~ 随着大数据技术的不断发展,人们对于大数据的实时性处理要求也在不断提高, ~~~ 传统的 MapReduce 等批处理框架在某些特定领域, ~~~ 例如实时用户推荐、用户行为分析这些应用场景上逐渐不能满足人们对实时性的 阅读全文

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

|NO.Z.00053|——————————|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:26 yanqi_vip 阅读(12) 评论(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-12 13:26 yanqi_vip 阅读(8) 评论(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-12 13:26 yanqi_vip 阅读(7) 评论(0) 推荐(0)

|NO.Z.00052|——————————|BigDataEnd|——|Hadoop&Spark.V02|——|Spark.v12|spark sql原理|sql解析过程|

摘要: 一、SQL解析过程 ### sql解析过程 ~~~ Spark SQL 可以说是 Spark 中的精华部分。 ~~~ 原来基于 RDD 构建大数据计算任务,重心在向 DataSet 转移,原来基于 RDD 写的代码也在迁移。 ~~~ 使用 Spark SQL 编码好处是非常大的,尤其是在性能方面,有 阅读全文

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

|NO.Z.00051|——————————|BigDataEnd|——|Hadoop&Spark.V01|——|Spark.v11|spark sql原理|SparkSQL中的join|

摘要: 一、Spark SQL原理 ### SparkSQL中的join ~~~ 数据分析中将两个数据集进行 Join 操作是很常见的场景。 ~~~ 在 Spark 的物理计划阶段, ~~~ Spark 的 Join Selection 类会根据 Join hints 策略、Join 表的大小、 ~~~ J 阅读全文

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

|NO.Z.00048|——————————|BigDataEnd|——|Hadoop&Spark.V09|——|Spark.v09|spark sql|UDAF|

摘要: 一、UDAF ### UDAF ~~~ # 数据如下: id, name, sales, discount, state, saleDate 1, "Widget Co", 1000.00, 0.00, "AZ", "2019-01-01" 2, "Acme Widgets", 2000.00, 5 阅读全文

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

|NO.Z.00049|——————————|BigDataEnd|——|Hadoop&Spark.V10|——|Spark.v10|spark sql|访问hive|

摘要: 一、访问Hive ### 在 pom.xml文件中增加依赖: <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-hive_2.12</artifactId> <version>${spark.version}</ve 阅读全文

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

|NO.Z.00050|——————————|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:23 yanqi_vip 阅读(12) 评论(0) 推荐(0)

|NO.Z.00047|——————————|BigDataEnd|——|Hadoop&Spark.V08|——|Spark.v08|spark sql|UDF|

摘要: 一、UDF ### UDF ~~~ UDF(User Defined Function),自定义函数。 ~~~ 函数的输入、输出都是一条数据记录,类似于Spark SQL中普通的数学或字符串函数。 ~~~ 实现上看就是普通的Scala函数; ~~~ UDAF(User Defined Aggrega 阅读全文

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

|NO.Z.00045|——————————|BigDataEnd|——|Hadoop&Spark.V06|——|Spark.v06|spark sql|SQL语句|

摘要: 一、SQL语句 ### SQL语句 ~~~ 总体而言:SparkSQL与HQL兼容;与HQL相比,SparkSQL更简洁。 ~~~ createTempView、createOrReplaceTempView、spark.sql("SQL") 二、SQL语句执行说明 三、编程实现 ### 编程实现 阅读全文

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

|NO.Z.00046|——————————|BigDataEnd|——|Hadoop&Spark.V07|——|Spark.v07|spark sql|编程&输入输出|

摘要: 一、输入与输出 ### 输入输出 ~~~ SparkSQL内建支持的数据源包括: ~~~ Parquet、JSON、CSV、Avro、Images、BinaryFiles(Spark 3.0)。其中Parquet是默认的数据源。 ### 输入输出实验 ~~~ # 内部使用 DataFrameRead 阅读全文

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

|NO.Z.00044|——————————|BigDataEnd|——|Hadoop&Spark.V05|——|Spark.v05|spark sql|Transformation操作|

摘要: 一、Transformation 操作 ### select * from tab where ... group by ... having... order by... # 1、RDD类似的操作持久化 ~~~ 缓存与checkpoint ~~~ select ~~~ where ~~~ grou 阅读全文

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

|NO.Z.00043|——————————|BigDataEnd|——|Hadoop&Spark.V04|——|Spark.v04|spark sql|三者的转换&Action转换|

摘要: 一、三者的转换 ### RDD、DataFrame、Dataset三者之间转换 ~~~ SparkSQL提供了一个领域特定语言(DSL)以方便操作结构化数据。 ~~~ 核心思想还是SQL;仅仅是一个语法的问题。 二、Action操作 ### Action操作 ~~~ # 与RDD类似的操作 ~~~ 阅读全文

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

|NO.Z.00041|——————————|BigDataEnd|——|Hadoop&Spark.V02|——|Spark.v02|spark sql|sparksession|

摘要: 一、Spark SQL编程 ### sparkseeion官方地址 ~~~ 官方文档:http://spark.apache.org/docs/latest/sql-getting-started.html ### SparkSession ~~~ 在 Spark 2.0 之前: ~~~ SQLCo 阅读全文

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

|NO.Z.00042|——————————|BigDataEnd|——|Hadoop&Spark.V03|——|Spark.v03|spark sql|DataFrame & Dataset创建|

摘要: 一、DataFrame & Dataset 的创建 ### DataFrame & Dataset 的创建 ~~~ 不要刻意区分:DF、DS。DF是一种特殊的DS;ds.transformation => df ### 由range生成Dataset scala> val numDS = spark 阅读全文

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

|NO.Z.00040|——————————|BigDataEnd|——|Hadoop&Spark.V01|——|Spark.v01|spark sql|概述特点|

摘要: 一、SparkSQL ### Spark SQL概述 ~~~ Hive的诞生,主要是因为开发MapReduce程序对 Java 要求比较高, ~~~ 为了让他们能够操作HDFS上的数据,推出了Hive。 ~~~ Hive与RDBMS的SQL模型比较类似,容易掌握。 ~~~ Hive的主要缺陷在于它的 阅读全文

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

|NO.Z.00038|——————————|BigDataEnd|——|Hadoop&Spark.V12|——|Spark.v12|sparkcore|RDD编程高阶&spark原理初探&RDD编程优化|

摘要: 一、RDD编程优化 ### RDD复用 ~~~ 避免创建重复的RDD。在开发过程中要注意: ~~~ 对于同一份数据,只应该创建一个RDD,不要创建多个RDD来代表同一份数据。 ### RDD缓存/持久化 ~~~ 当多次对同一个RDD执行算子操作时,每一次都会对这个RDD以之前的父RDD重新计算一次, 阅读全文

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

|NO.Z.00039|——————————|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:16 yanqi_vip 阅读(16) 评论(0) 推荐(0)

|NO.Z.00037|——————————|BigDataEnd|——|Hadoop&Spark.V11|——|Spark.v11|sparkcore|RDD编程高阶&spark原理初探&shuffle原理|

摘要: 一、Shuffle原理 ### shuffle原理 ~~~ Shuffle的本意是洗牌,目的是为了把牌弄乱。 ~~~ Spark、Hadoop中的shuffle可不是为了把数据弄乱, ~~~ 而是为了将随机排列的数据转换成具有一定规则的数据。 ~~~ Shuffle是MapReduce计算框架中的一 阅读全文

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

|NO.Z.00035|——————————|BigDataEnd|——|Hadoop&Spark.V09|——|Spark.v09|sparkcore|RDD编程高阶&TopN优化|

摘要: 一、TopN编程代码 ### TopN编程代码优化 package cn.yanqi.sparkcore import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} import scala.co 阅读全文

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

|NO.Z.00036|——————————|BigDataEnd|——|Hadoop&Spark.V10|——|Spark.v10|sparkcore|RDD编程高阶&spark原理初探&standalone模式作业提交|

摘要: 一、Spark原理初探:Standalone模式作业提交 ### Standalone 模式下有四个重要组成部分,分别是: ~~~ Driver:用户编写的 Spark 应用程序就运行在 Driver 上,由Driver 进程执行 ~~~ Master:主要负责资源的调度和分配,并进行集群的监控等职 阅读全文

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

|NO.Z.00032|——————————|BigDataEnd|——|Hadoop&Spark.V06|——|Spark.v06|sparkcore|RDD编程高阶&RDD分区器|

摘要: 一、RDD分区器 ### 以下RDD分别是否有分区器,是什么类型的分区器 scala> val rdd1 = sc.textFile("/wcinput/wc.txt") rdd1: org.apache.spark.rdd.RDD[String] = /wcinput/wc.txt MapPart 阅读全文

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

|NO.Z.00033|——————————|BigDataEnd|——|Hadoop&Spark.V07|——|Spark.v07|sparkcore|RDD编程高阶&广播变量|

摘要: 一、广播变量 ### 广播变量 ~~~ 有时候需要在多个任务之间共享变量,或者在任务(Task)和Driver Program之间共享变量。 ~~~ 为了满足这种需求,Spark提供了两种类型的变量: ~~~ 广播变量(broadcast variables) ~~~ 累加器(accumulator 阅读全文

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

|NO.Z.00034|——————————|BigDataEnd|——|Hadoop&Spark.V08|——|Spark.v08|sparkcore|RDD编程高阶&RDD累加器|

摘要: 一、RDD累加器 ### 累加器 ~~~ 累加器的作用:可以实现一个变量在不同的 Executor 端能保持状态的累加; ~~~ 累计器在 Driver 端定义,读取;在 Executor 中完成累加; ~~~ 累加器也是 lazy 的,需要 Action 触发;Action触发一次,执行一次,触发 阅读全文

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

|NO.Z.00031|——————————|BigDataEnd|——|Hadoop&Spark.V05|——|Spark.v05|sparkcore|RDD编程高阶&RDD分区数|

摘要: 一、RDD的分区 ### RDD分区 ~~~ spark.default.parallelism:(默认的并发数)= 2 ~~~ 当配置文件spark-default.conf中没有显示的配置,则按照如下规则取值: 二、RDD分区示例 ### 本地模式 ~~~ # spark-shell --mas 阅读全文

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

|NO.Z.00029|——————————|BigDataEnd|——|Hadoop&Spark.V03|——|Spark.v03|sparkcore|RDD编程高阶&RDD持久化&缓存|

摘要: 一、RDD持久化/缓存 ### 涉及到的算子:persist、cache、unpersist;都是 Transformation ~~~ 缓存是将计算结果写入不同的介质, ~~~ 用户定义可定义存储级别(存储级别定义了缓存存储的介质,目前支持内存、堆外内存、磁盘); ~~~ 通过缓存,Spark避免 阅读全文

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

|NO.Z.00030|——————————|BigDataEnd|——|Hadoop&Spark.V04|——|Spark.v04|sparkcore|RDD编程高阶&RDD容错机制Checkpoint|

摘要: 一、RDD容错机制Checkpoint ### 涉及到的算子:checkpoint;也是 Transformation ~~~ Spark中对于数据的保存除了持久化操作之外,还提供了检查点的机制; ### 检查点本质是通过将RDD写入高可靠的磁盘,主要目的是为了容错。检查点通过将 ~~~ 数据写入到 阅读全文

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

|NO.Z.00027|——————————|BigDataEnd|——|Hadoop&Spark.V01|——|Spark.v01|sparkcore|RDD编程高阶&序列化|

摘要: 一、RDD编程高阶 ### Spark原理:序列化 ~~~ 在实际开发中会自定义一些对RDD的操作,此时需要注意的是: ~~~ 初始化工作是在Driver端进行的 ~~~ 实际运行程序是在Executor端进行的 ~~~ 这就涉及到了进程通信,是需要序列化的。 二、RDD序列化代码实现 ### 可以 阅读全文

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

|NO.Z.00028|——————————|BigDataEnd|——|Hadoop&Spark.V02|——|Spark.v02|sparkcore|RDD依赖关系&再谈wordcount|

摘要: 一、RDD依赖关系 ### RDD依赖关系 ~~~ RDD只支持粗粒度转换,即在大量记录上执行的单个操作。 ~~~ 将创建RDD的一系列Lineage(血统)记录下来,以便恢复丢失的分区。 ~~~ RDD的Lineage会记录RDD的元数据信息和转换行为, ~~~ 当该RDD的部分分区数据丢失时,可 阅读全文

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

|NO.Z.00026|——————————|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:10 yanqi_vip 阅读(13) 评论(0) 推荐(0)

|NO.Z.00025|——————————|^^ 案例 ^^|——|Hadoop&Spark.V13|——|Spark.v12|sparkcore|算子综合案例&wordcount-super&将计算结果写入mysql|

摘要: 一、算子综合案例:Super WordCount ### Super WordCount ~~~ 要求:将单词全部转换为小写,去除标点符号(难),去除停用词(难); ~~~ 最后按照count 值降序保存到文件, ~~~ 同时将全部结果保存到MySQL(难);标点符号和停用词可以自定义。 ~~~ 停 阅读全文

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

|NO.Z.00024|——————————|^^ 案例 ^^|——|Hadoop&Spark.V12|——|Spark.v12|sparkcore|算子综合案例&找共同好友|

摘要: 一、算子综合案例&找共同好友 ### 找共同好友 ~~~ 第一列表示用户,后面的表示该用户的好友 ~~~ # 原始数据: 100, 200 300 400 500 600 200, 100 300 400 300, 100 200 400 500 400, 100 200 300 500, 100 阅读全文

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

|NO.Z.00022|——————————|^^ 案例 ^^|——|Hadoop&Spark.V10|——|Spark.v10|sparkcore|算子综合案例&计算圆周率|

摘要: 一、算子综合案例:计算圆周率:计算圆周率说明 二、编程代码实现 ### 编程代码实现 package cn.yanqi.sparkcore import org.apache.spark.{SparkConf, SparkContext} import scala.math.random objec 阅读全文

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

|NO.Z.00023|——————————|^^ 案例 ^^|——|Hadoop&Spark.V11|——|Spark.v11|sparkcore|算子综合案例&广告数据统计|

摘要: 一、算子综合案例:广告数据统计 ### 广告数据统计 ~~~ 数据格式:timestamp province city userid adid 时间点 省份 城市 用户 广告 ### 广告数据统计案例需求 ~~~ 需求: 1、统计每一个省份点击TOP3的广告ID 2、统计每一个省份每一个小时的TOP 阅读全文

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

|NO.Z.00019|——————————|BigDataEnd|——|Hadoop&Spark.V07|——|Spark.v07|sparkcore|RDD编程&输入输出|

摘要: 一、输入与输出 ### 文件输入与输出:文本文件 ~~~ 数据读取:textFile(String)。可指定单个文件,支持通配符。 ~~~ 这样对于大量的小文件读取效率并不高, ~~~ 应该使用 wholeTextFilesdef wholeTextFiles(path: String, minPa 阅读全文

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

|NO.Z.00020|——————————|^^ 案例 ^^|——|Hadoop&Spark.V08|——|Spark.v08|sparkcore|算子综合案例&wordcount-scala|

摘要: 一、算子综合应用案例:wordCount-scala ### WordCount - scala package cn.yanqi.sparkcore import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkC 阅读全文

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

|NO.Z.00021|——————————|^^ 案例 ^^|——|Hadoop&Spark.V09|——|Spark.v09|sparkcore|算子综合案例&wordcount-Java|

摘要: 一、算子综合案例wordcount-java ### WordCount - java ~~~ Spark提供了:Scala、Java、Python、R语言的API;对 Scala 和 Java 语言的支持最好; ### 源码地址说明 ~~~ 地址:https://spark.apache.org/ 阅读全文

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

|NO.Z.00018|——————————|BigDataEnd|——|Hadoop&Spark.V06|——|Spark.v06|sparkcore|RDD编程&Key-Value RDD操作|

摘要: 一、Key-Value RDD操作 ### Key_Value RDD操作 ~~~ RDD整体上分为 Value 类型和 Key-Value 类型。 ~~~ 前面介绍的是 Value 类型的RDD的操作, ~~~ 实际使用更多的是 key-value 类型的RDD,也称为 PairRDD。 ~~~ 阅读全文

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

|NO.Z.00017|——————————|BigDataEnd|——|Hadoop&Spark.V05|——|Spark.v05|sparkcore|RDD编程&Action算子|

摘要: 一、Action ### Action 用来触发RDD的计算,得到相关计算结果; ~~~ Action触发Job。一个Spark程序(Driver程序)包含了多少 Action 算子,那么就有多少Job; ~~~ 典型的Action算子: collect / count ~~~ collect() 阅读全文

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

|NO.Z.00015|——————————|^^ 配置 ^^|——|Hadoop&Spark.V03|——|Spark.v03|sparkcore|RDD编程&sparkcontext创建|

摘要: 一、设置spark-standalone集群非HA模式 ### 修改配置文件 [root@hadoop02 ~]# vim $SPARK_HOME/conf/spark-env.sh export JAVA_HOME=/opt/yanqi/servers/jdk1.8.0_231 export HA 阅读全文

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

|NO.Z.00016|——————————|BigDataEnd|——|Hadoop&Spark.V04|——|Spark.v04|sparkcore|RDD编程&Transformation|

摘要: 一、Transformation【重要】 ### Transformation:RDD的操作算子分为两类: ~~~ Transformation:用来对RDD进行转化,这个操作时延迟执行的(或者说是Lazy 的); ~~~ Action:用来触发RDD的计算;得到相关计算结果 或者 将结果保存的外部 阅读全文

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

|NO.Z.00014|——————————|BigDataEnd|——|Hadoop&Spark.V02|——|Spark.v02|sparkcore|RDD编程&RDD编程模型|

摘要: 一、RDD编程模型 ### RDD编程模型 ~~~ RDD表示数据对象 ~~~ 通过对象上的方法调用来对RDD进行转换 ~~~ 最终显示结果 或 将结果输出到外部数据源 ~~~ RDD转换算子称为Transformation是Lazy的(延迟执行) ~~~ 只有遇到Action算子,才会执行RDD的 阅读全文

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

|NO.Z.00013|——————————|BigDataEnd|——|Hadoop&Spark.V01|——|Spark.v01|sparkcore|RDD编程&什么是RDD&RDD特点|

摘要: 一、RDD编程 ### 什么是RDD ~~~ RDD是 Spark 的基石,是实现 Spark 数据处理的核心抽象。 ~~~ RDD 是一个抽象类,它代表一个不可变、可分区、里面的元素可并行计算的集合。 ~~~ RDD(Resilient Distributed Dataset)是 Spark 中的 阅读全文

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

|NO.Z.00012|——————————|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:00 yanqi_vip 阅读(12) 评论(0) 推荐(0)

|NO.Z.00010|——————————|^^ 配置 ^^|——|Hadoop&Spark.V10|——|Spark.v10|sparkcore|集群模式&yarn模式&整合hdfsspark的historyserver服务|

摘要: 一、集群模式--Yarn模式 ### 集群模式-Yarn模式 ~~~ 参考:http://spark.apache.org/docs/latest/running-on-yarn.html ~~~ 需要启动的服务:hdfs服务、yarn服务 ~~~ 需要关闭 Standalone 对应的服务(即集群 阅读全文

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

|NO.Z.00011|——————————|^^ 配置 ^^|——|Hadoop&Spark.V11|——|Spark.v11|sparkcore|开发环境搭建IDEA&spark-core源码链接|

摘要: 一、创建工程 ### 创建一个maven工程: ~~~ Create New Project——>Maven——>Next——>Name:SparkBigData——>Finish——>END ### 安装scala插件;能读写HDFS文件 ### 导入依赖插件,写入pom.xml文件 <?xml 阅读全文

posted @ 2022-04-12 12:59 yanqi_vip 阅读(60) 评论(0) 推荐(0)

|NO.Z.00009|——————————|^^ 配置 ^^|——|Hadoop&Spark.V09|——|Spark.v09|sparkcore|Spark-Standalone集群模式&高可用配置&zookeeper|

摘要: 一、高可用配置 ### spark standalone集群配置说明 ~~~ Spark Standalone集群是 Master-Slaves架构的集群模式, ~~~ 和大部分的Master-Slaves结构集群一样,存着Master单点故障的问题。 ### 如何解决这个问题,Spark提供了两种 阅读全文

posted @ 2022-04-12 12:58 yanqi_vip 阅读(43) 评论(0) 推荐(0)

|NO.Z.00007|——————————|^^ 配置 ^^|——|Hadoop&Spark.V07|——|Spark.v07|sparkcore|Spark-Standalone集群模式&运行模式cluster&client|

摘要: 一、运行模式(cluster / client) ### 运行模式(cluster / client) ~~~ 最大的区别:Driver运行在哪里;client是缺省的模式,能看见返回结果,适合调试;cluster与此相反; ~~~ Client模式:(缺省)Driver运行在提交任务的Client 阅读全文

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

导航