- 博客(9)
- 收藏
- 关注
原创 Spark详解(二、SparkCore)
SparkCore是Spark计算引擎的基础,后面的sparksql以及sparkstreaming等,都是基于SparkCore的。这里笔者就开始详细的介绍SparkCore。如果要介绍SparkCore,必须详细介绍一下RDD。一、RDD编程RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。在 Spark 中,我们如果要对数据进行操作,不外乎就是创建RDD对数据进行操作。
2021-12-27 20:32:21
2588
1
原创 Spark详解(一、Spark概述)
Spark是一种基于内存的快速的、通用、可拓展的大数据分析计算引擎。一、Spark与MapReduceHadoop框架中的MapReduce计算引擎,也是一种大数据分析计算引擎。那既然已经又来MR那我们为何还要开发Spark计算模型呢?或者说这两者有何相同之处?在应用方面有何不同?1、Spark与HadoopHadoop是一个开源的生态圈,有文件储存的HDFS,有计算引擎MR,有资源调度的YARN,以及数据库的Hbase等等。Spark就仅仅是一个计算引擎,仅仅相对的是MR。并不能...
2021-12-13 22:42:35
9988
原创 Hadoop MapReduce 详解(二)
MR流程详解MR的流程可以分为输入,分片,map,shuffle,reduce,以及输出。这几个大的部分,下面我们一一讲解。一、整体流程1、输入文件之后,分片之后的每个文件分配给每个MapTask。2、MapTask处理文件,输出kv对,放入内存缓冲区。从内存缓冲区(默认100M)中不断溢出到本地磁盘文件(到达80%内存缓冲区就开始溢出)。3、可能溢出多个文件,最终会合并称一个文件。在溢出以及合并溢出文件时,都要调用Partitioner进行分区和针对key进行排序。4、Reduce
2021-12-08 14:36:34
240
原创 Hadoop MapReduce详解(一)
一、MapReduce简介之前我们我们讲解了Hadoop的分布式文件储存系统HDFS,曾把它比作一个工厂的仓库。而今天我们要介绍的MapReduce(简称MR)分布式计算框架,就可以把他看作一个工厂的流水线。1、MR的编程思想MR的核心的思想就是分而治之,通俗的来说,就是将复杂的事情分割成很多小的事情,一一去完成,最终合并结果。那么我们可以明白MR的过程实际就是输入,分,处理,合并,输出。MR的过程分为两个大的阶段Map以及Reduce阶段。既然是分开治理,Map阶段包含许多的mapTa..
2021-12-06 15:24:00
571
原创 Hadoop yarn详解
一、YARN概述(Yet Another Resource Negotiantor)时至今日Hadoop已经走过了许多年头,目前已经到达第三代,相比第二代框架得基本架构上没有变化。但是二代相比第一代,却有很大得变化,独立出来了资源管理框架。第一代将资源调度交给mapreduce中的jobtracher。二、YARN架构yarn主要由ResourceManager,ApplicationsMaster,NodeManager,Container。下面我们一一介绍。1、ResourceM
2021-12-02 15:37:34
2373
原创 HDFS详解
一、HDFS概述在Hadoop分布式系统的框架中,首要的存储数据的功能是由HDFS这个分布式文件系统完成的。如果把Hadoop框架比喻成一个工厂,那么HDFS就像是整个工厂的仓库。二、HDFS优缺点优点:高容错性,能够将失败的任务重新分配,适合大数据开发,可以构建在廉价机器上。缺点:不适合低延时时间数据访问,无法对大量小文件进行储存,小文件寻址时间会超过读取时间,不支持并发写入,文件随意修改,仅支持追加。三、HDFS架构HDFS是一个分布式的储存组件,是由主从体系结构。主要由na
2021-11-30 17:01:12
3127
原创 scala数据集合
目录数据集合类型不可变数组可变数组不可变列表List可变列表List不可变Set可变Set不可变Map可变Map元组数据集合类型scala的数据集合类型主要有数组(Array)、链表(List)、集合(Set)、映射(Map)、元组等。都分为可变以及不可变的集合,可变集合可以更新和拓展。不可变集合也能够更新和拓展,不过不可变集合是通过创建一个新的集合从而达到改变的效果。不可变数组数组是有序的,可重复的,可存放不同数据类型的数据集合。创建数组
2021-09-30 23:33:19
413
原创 Scala函数式编程
Scala函数式编程目录Scala函数式编程函数基础函数参数函数多种用法函数与方法函数柯里化以及闭包闭包柯里化递归尾递归优化控制抽象惰性加载函数基础def 函数名(传入参数名:参数类型):函数返回值 {函数体} def add(a:Int,b:Int):Int = { a+b }函数参数函数参数有默认参数(无赋值就用默认值,有则覆盖)、可变参数以及带名参数(改变参数输入顺序)。默认参数、可变参数一般放在参数列表...
2021-09-26 16:52:15
139
原创 Scala流程管理
Scala流程管理目录Scala流程管理if分支结构单分支双分支多分支嵌套分支if返回值for循环for to untilfor集合for步幅for多个遍历for守卫if分支结构scala的分支结构类似java的分支结构,主要分为单分支,双分支,多分支,以及嵌套分支。单分支if(判断语句){行为语句},当if后判断语句为true时执行行为语句。if (age > 18) {println("成年")}单分支因为只有一个条
2021-09-26 15:21:48
143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人