![](https://img-blog.csdnimg.cn/20201202173111281.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
【大数据】Spark
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。
老王的小知识
爱分享的老王
展开
-
Spark深入解析(十九):SparkSQL之Spark SQL概述
目录Spark SQL官方介绍什么是Spark SQLSpark SQL的特点Spark SQL的优缺点Hive和Spark SQLSpark SQL数据抽象什么是 DataFrame什么是 DataSetRDD、DataFrame、DataSet的区别Spark SQL官方介绍官网 http://spark.apache.org/sql/什么是Spark SQL Spark SQL是Spark用来处理结构化数据的一个模块,它提供了2个编程抽象:DataFrame和DataSet,并且作为分原创 2020-05-08 23:30:55 · 3405 阅读 · 1 评论 -
Spark深入解析:博文大纲
目录Spark基础解析SparkScoreSparkSqlSparkStreamingStructuredStreamingSpark基础解析Spark深入解析(一):Spark的前世今生https://blog.csdn.net/wzc8961661/article/details/105605342Spark深入解析(二):Spark与Hadoop、MapReduce、Hive、Storm关系与对比https://blog.csdn.net/wzc8961661/article/details原创 2020-05-09 00:00:02 · 1514 阅读 · 3 评论 -
Spark深入解析(十八):SparkCore之扩展之RDD相关概念关系
目录RDD相关概念关系RDD相关概念关系 输入可能以多个文件的形式存储在HDFS上,每个File都包含了很多块,称为Block。当Spark读取这些文件作为输入时,会根据具体数据格式对应的InputFormat进行解析,一般是将若干个Block合并成一个输入分片,称为InputSplit,注意InputSplit不能跨越文件。随后将为这些输入分片生成具体的Task。InputSplit与...原创 2020-05-07 23:17:02 · 2276 阅读 · 0 评论 -
Spark深入解析(十七):SparkCore之RDD编程进阶
目录累加器系统累加器自定义累加器广播变量(调优策略)累加器 累加器用来对信息进行聚合,通常在向 Spark传递函数时,比如使用 map() 函数或者用 filter() 传条件时,可以使用驱动器程序中定义的变量,但是集群中运行的每个任务都会得到这些变量的一份新的副本,更新这些副本的值也不会影响驱动器中的对应变量。如果我们想实现所有分片处理时更新共享变量的功能,那么累加器可以实现我们想要的效果...原创 2020-05-06 21:38:31 · 2606 阅读 · 0 评论 -
Spark深入解析(十六):SparkCore之数据读取与保存
目录文件类数据读取与保存Text文件Json文件Sequence文件对象文件文件系统类数据读取与保存HDFSMySQL数据库连接HBase数据库 Spark的数据读取及数据保存可以从两个维度来作区分:文件格式以及文件系统。文件格式分为:Text文件、Json文件、Csv文件、Sequence文件以及Object文件;文件系统分为:本地文件系统、HDFS、HBASE以及数据库。文件类数据读...原创 2020-05-05 21:43:09 · 1778 阅读 · 0 评论 -
Spark深入解析(十五):SparkCore之键值对RDD数据分区器
目录获取RDD分区Hash分区Ranger分区自定义分区 Spark目前支持Hash分区和Range分区,用户也可以自定义分区,Hash分区为当前的默认分区,Spark中分区器直接决定了RDD中分区的个数、RDD中每条数据经过Shuffle过程属于哪个分区和Reduce的个数注意:(1)只有Key-Value类型的RDD才有分区器的,非Key-Value类型的RDD分区器的值是None(...原创 2020-05-04 22:44:54 · 1645 阅读 · 0 评论 -
Spark深入解析(十四):SparkCore之RDD的持久化/缓存、容错机制Checkpoint
目录RDD的持久化/缓存持久化/缓存API详解代码演示RDD的容错机制Checkpoint代码演示持久化和Checkpoint的区别RDD的持久化/缓存 在实际开发中某些RDD的计算或转换可能会比较耗费时间,如果这些RDD后续还会频繁的被使用到,那么可以将这些RDD进行持久化/缓存,这样下次再使用到的时候就不用再重新计算了,提高了程序运行的效率持久化/缓存API详解persist方法和c...原创 2020-05-03 21:13:22 · 2114 阅读 · 1 评论 -
Spark深入解析(十三): SparkCore之RDD依赖关系、DAG生成、划分Stage
目录Lineage宽窄依赖如何区分宽窄依赖为什么要设计宽窄依赖DAG(有向无环图)DAG划分StageLineage RDD只支持粗粒度转换,即在大量记录上执行的单个操作。将创建RDD的一系列Lineage(血统)记录下来,以便恢复丢失的分区。RDD的Lineage会记录RDD的元数据信息和转换行为,当该RDD的部分分区数据丢失时,它可以根据这些信息来重新运算和恢复丢失的数据分区。(1)...原创 2020-05-02 15:56:09 · 2025 阅读 · 0 评论 -
Spark深入解析(十二):SparkCore之RDD中的函数传递
目录传递一个方法传递一个属性 在实际开发中我们往往需要自己定义一些对于RDD的操作,那么此时需要主要的是,初始化工作是在Driver端进行的,而实际运行程序是在Executor端进行的,这就涉及到了跨进程通信,是需要序列化的。传递一个方法1.创建一个类class Search(s:String){//过滤出包含字符串的数据 def isMatch(s: String): Bool...原创 2020-05-01 14:33:34 · 1593 阅读 · 0 评论 -
Spark深入解析(十一):SparkCore之RDD的转换之Action动作算子
目录reduce(func)案例collect()案例count()案例first()案例take(n)案例takeOrdered(n)案例aggregate案例fold(num)(func)案例saveAsTextFile(path)saveAsSequenceFile(path)saveAsObjectFile(path)countByKey()案例foreach(func)案例reduce...原创 2020-04-30 22:17:24 · 2110 阅读 · 0 评论 -
Spark深入解析(十):SparkCore之RDD的转换之Key-Value类型
目录partitionBy案例groupByKey案例reduceByKey(func, [numTasks]) 案例==reduceByKey和groupByKey的区别==aggregateByKey案例foldByKey案例combineByKey[C] 案例sortByKey([ascending], [numTasks]) 案例mapValues案例join(otherDataset, ...原创 2020-04-29 23:21:56 · 2722 阅读 · 0 评论 -
Spark深入解析(九):SparkCore之RDD的转换-双Value类型
目录union(otherDataset) 案例subtract (otherDataset) 案例intersection(otherDataset) 案例cartesian(otherDataset) 案例zip(otherDataset)案例union(otherDataset) 案例作用:对源RDD和参数RDD求并集后返回一个新的RDD需求:创建两个RDD,求并集(1)创建第一个R...原创 2020-04-28 22:41:21 · 3482 阅读 · 0 评论 -
Spark深入解析(八):SparkCore之RDD的转换-Value类型
目录map(func)案例mapPartitions(func) 案例mapPartitionsWithIndex(func) 案例flatMap(func) 案例==map()和mapPartition()的区别==glom案例groupBy(func)案例filter(func) 案例sample(withReplacement, fraction, seed) 案例distinct([num...原创 2020-04-27 22:58:17 · 3172 阅读 · 0 评论 -
Spark深入解析(八):Spark整合YARN报错或无法查看日志
目录如果整合Yarn报错或无法查看log需做如下操作如果要整合YARN历史服务器和Spark历史服务器,则还需要如下操作配置历史日志服务器本地调试如果整合Yarn报错或无法查看log需做如下操作1.修改hadoop的yarn-site.xmlvim /export/servers/hadoop/etc/hadoop/yarn-site.xml <property>...原创 2020-04-26 23:18:34 · 4400 阅读 · 0 评论 -
Spark深入解析(七):SparkCore之IDEA编写WordCount
学习目标pom.xml本地运行集群运行Spark参数详解pom.xml创建Maven项目并补全目录,配置pom.xml文件//pom文件中此处可将scala修改java或重新创建scala包<sourceDirectory>src/main/scala</sourceDirectory> <testSourceDirectory>src/...原创 2020-04-25 23:27:36 · 2784 阅读 · 1 评论 -
Spark深入解析(六):SparkCore之Spark代码编写WordCount
学习目标WordCount思路WordCount代码实现WordCount思路准备数据将数据放在以下目录中1.txt Hello World Hello Scala2.txt Hello Spark图解分析说明:1、本地读取两个文件2、两个文件内的数据3、将文件内的数据进行扁平化4、将相同单词进行分组5、聚合计算每个单词的个数WordCoun...原创 2020-04-24 23:35:20 · 3298 阅读 · 0 评论 -
Spark深入解析(五):SparkCore之RDD编程模型
学习目标编程模型RDD的创建编程模型 在Spark中,RDD被表示为对象,通过对象上的方法调用来对RDD进行转换。经过一系列的transformations定义RDD之后,就可以调用actions触发RDD的计算,action可以是向应用程序返回结果(count, collect等),或者是向存储系统保存数据(saveAsTextFile等)。在Spark中,只有遇到action,才会执行R...原创 2020-04-23 22:59:45 · 1905 阅读 · 0 评论 -
Spark深入解析(四):SparkCore之RDD概述
学习目标什么是RDDRDD的主要属性==小结!!!==RDD的特点什么是RDDRDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象。代码中是一个抽象类,它代表一个不可变、可分区、里面的元素可并行计算的集合。弹性分布式数据集(保存在内存中)弹性:RDD中的数据可以保存在内存中或者磁盘里面。分布式:分布式存储的,可以用于分...原创 2020-04-22 23:40:45 · 1877 阅读 · 0 评论 -
Spark深入解析(三):Spark基础解析之Spark环境搭建(不同模式)
学习目标Local本地模式安装启动spark-shell初体验-读取本地文件初体验-读取HDFS文件Standalone集群模式集群角色介绍集群规划修改配置并分发启动和停止查看web界面Standalone-HA高可用模式原理配置HA启动Zookeeper集群启动Spark集群测试HAOn Yarn集群模式准备工作Cluster模式Client模式两种模式的区别需要资源包,可私信博主!以下代码...原创 2020-04-21 22:24:31 · 2139 阅读 · 0 评论 -
Spark深入解析(二):Spark基础解析之Spark与Hadoop、MapReduce、Hive、Storm关系与对比
学习目录Spark VS HadoopSpark VS MapReduce的计算模型Spark VS HiveSpark Streaming VS Storm拿图,转发,请留言,谢谢,支持原创!!!Spark VS Hadoop 尽管Spark相对于Hadoop而言具有较大优势,但Spark并不能完全替代Hadoop,Spark主要用于替代Hadoop中的MapReduce计算模型。存...原创 2020-04-19 16:40:02 · 2323 阅读 · 0 评论 -
Spark深入解析(一):Spark基础解析之Spark的前世今生
学习目录Spark是什么?Spark的介绍Spark的整体架构Spark的历史Spark的特点Spark为什么会流行?Spark的运行模式Spark是什么? Apache Spark是用于大规模数据处理的统一分析引擎,是一种通用的大数据计算框架,如传统的大数据技术:Hadoop的MapReduce、Hive引擎,以及Storm流式实时计算引擎等。 Spark基于内存计算,提高了在大数据环...原创 2020-04-18 22:41:33 · 1980 阅读 · 0 评论