![](https://img-blog.csdnimg.cn/20201221232236808.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spark
文章平均质量分 61
Spark学习
weixin_52346735
Wang-Gang
展开
-
RDD DataSet 和 Dataframe 的 区别
**RDD DataSet 和 Dataframe 的 区别**首先从版本产生的来看RDD(Spark1.0)—> Dataframe(Spark 1.3)—>DataSet(Spark 1.6)同样的数据都给到这三个数据结构,他们分别计算之后,都会给出相同的结果不同的是他们的执行效率和执行方式下面我们先来了解一下这三个数据结构1 RDDRDD 是一个lazy的不可变的可以支持函数调用的并行数据集合RDD 的最大的好处就是简单, API的人性化程度高RDD 劣势是性原创 2021-01-07 00:00:23 · 105 阅读 · 0 评论 -
统计店铺月累计收入
sid,dt,moneyshop1,2019-01-18,500shop1,2019-02-10,500shop1,2019-02-10,200shop1,2019-02-11,600shop1,2019-02-12,400shop1,2019-02-13,200shop1,2019-02-15,100shop1,2019-03-05,180shop1,2019-04-05,280shop1,2019-04-06,220shop2,2019-02-10,100shop2,2019-0原创 2021-01-05 21:38:11 · 209 阅读 · 0 评论 -
Spark 任务执行经典十八问
1 SparkContext哪一端生成的?Driver端即SparkContext(Driver 是一个统称,DAGSchedule ,TaskScheduler,BlockManager,ShuffeManager,BroadcastManger)2 DAG是在哪一端被构建的?Driver 端3 RDD是在哪一端生成的?Driver 端 ,RDD 不装真正要计算的数据,而是记录了数据的描述信息(以后从哪里读数据,怎么计算)4 调用 RDD 的算子(Transformation和Ac原创 2020-12-30 18:14:19 · 48 阅读 · 0 评论 -
Spark 知识点
**一 spark **Spark是一个分布式计算框架 ,你对 RDD 进行 map 操作,其实是对它里面的每一个分区进行 map 进行操作你对 RDD 里面的数据进行操作,其实 RDD 里面 不装数据, RDD里面有多个分区 ,每个分区会生成 多个 task你对 RDD 操作,本质上是对 RDD 里面的每个分区进行操作 ,分区会记录你的操作信息(调哪个方法,传哪个函数)以后会根据这个分区信息 生成taskspark程序的流程 :读取或者转化数据创建一系列 RDD ,然后使用转化操作生成新原创 2020-12-30 00:35:55 · 86 阅读 · 0 评论 -
广播变量案列练习
package cn._51doit.day06import org.apache.spark.rdd.RDDimport org.json4s.scalap.scalasig.ScalaSigEntryParsers.indeximport utils.{IpUtils, SparkUtils}object IpLocationCount { def main(args: Array[String]): Unit = { val sc = SparkUtils.createCon原创 2020-12-29 23:23:09 · 81 阅读 · 0 评论 -
通过并行化创建 RDD
一首先连接集群 ,进入Spark客户端在 bin 目录下./spark-shell --master spark://linux01:7077二我们可以通过一个集合来创建 RDDval arr=Array(1,2,3,4,5,6,7,8,9) val rdd = sc.parallelize(arr) 得到一个新的 RDDrdd.partitions.length 这是分区的数量val rdd =sc.parallelize(arr,200)这是改变分区的数量 (200)原创 2020-12-22 23:10:26 · 1382 阅读 · 0 评论 -
RDD
RDD**是一个 分布式、弹性、可容错的抽象数据集,代表着一个不可变的,可分区的,可以并行执行的一个集合RDD中不保存计算的数据,保存的式元数据,即数据的描述信息和运算逻辑,比如数据要从哪里读取,怎么运算等RDD 可以被认为是一个代理, 你对RDD 进行操作,相当于在Driver 端先是记录下计算的描述信息,然后生成Task ,将Task 调度到 Executor 端才执行真正的计算逻辑**RDD特点一 有多个分区,分区数量决定任务并行数① 从HDFS 中读取 :1)如果是从HDFS中读取数原创 2020-12-22 21:12:09 · 72 阅读 · 0 评论 -
MapReduce Spark 的区别
隐士转换有两种类型一种继承 一种包装原创 2020-12-22 20:31:07 · 52 阅读 · 0 评论 -
shuffle
1、什么是shuffle?把父RDD中的KV对按照Key重新分区,从而得到一个新的RDD。也就是说原本同属于父RDD同一个分区的数据需要进入到子RDD的不同的分区。2、为什么需要shuffle?在分布式计算框架中,数据本地化是一个很重要的考虑,即计算需要被分发到数据所在的位置,从而减少数据的移动,提高运行效率。Map-Reduce的输入数据通常是HDFS中的文件,所以数据本地化要求map任务尽量被调度到保存了输入文件的节点执行。但是,有一些计算逻辑是无法简单地获取本地数据的,reduce的逻辑都是如原创 2020-12-22 09:11:38 · 339 阅读 · 0 评论 -
在 idea 里面编写 WordCount 程序
object WorldCount { def main(args: Array[String]): Unit = { // 创建SparkContext ,只有使用SparkContext 才可以向集群申请资源, // 才可以创建 RDD val conf = new SparkConf().setAppName("WorldCount") val sc = new SparkContext(conf) // 第一步创建RDD : 指定【以后】从HD原创 2020-12-21 23:51:40 · 401 阅读 · 0 评论 -
Spack 架构体系
Spack 架构体系1.1 standalone client模式1.2 standalone cluster模式1.3 Spark On YARN cluster模式1.4 Spark执行流程简介Job:RDD每一个行动操作都会生成一个或者多个调度阶段 调度阶段(Stage):每个Job都会根据依赖关系,以Shuffle过程作为划分,分为Shuffle Map Stage和Result Stage。每个Stage对应一个TaskSet,一个Task中包含多Task,Task原创 2020-12-21 23:47:56 · 454 阅读 · 0 评论 -
Spark 简介
Spark简介1.1什么是SparkSpark是一种快速、通用、可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache的顶级项目,2014年5月发布spark1.0,2016年7月发布spark2.0,2020年6月18日发布spark3.0.01.2 Spark特点1)快速高效Hadoop的MapReduce作为第一代分布式大数据计算引擎,在设计之初,受当时计算机硬件条件所限(原创 2020-12-21 23:41:15 · 263 阅读 · 0 评论