![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spark生态技术【初学】
spark、spark core、spark streaming
江湖侠客
这个作者很懒,什么都没留下…
展开
-
第5章 RDD编程进阶
上篇:第4章 大数据Spark连接HBase数据读取与保存Spark 三大数据结构RDD:分布式数据集广播变量:分布式只读共享变量累加器: 分布式只写共享变量1、累加器累加器用来对信息进行聚合,通常在向 Spark传递函数时,比如使用 map() 函数或者用 filter() 传条件时,可以使用驱动器程序中定义的变量,但是集群中运行的每个任务都会得到这些变量的一份新的副本,更新这...原创 2020-02-08 15:04:03 · 260 阅读 · 0 评论 -
第4章 大数据Spark连接HBase数据读取与保存
上篇:第3章 键值对RDD数据分区器数据读取与保存Spark的数据读取及数据保存可以从两个维度来作区分:文件格式以及文件系统。文件格式分为:Text文件、Json文件、Csv文件、Sequence文件以及Object文件;文件系统分为:本地文件系统、HDFS、HBASE以及数据库1、文件类数据读取与保存Text文件1)数据读取:textFile(String)scala>...原创 2020-02-07 22:13:48 · 1095 阅读 · 0 评论 -
第3章 键值对RDD数据分区器
上篇:第 2 章大数据SparkCore的RDD编程案例(下)一、键值对RDD数据分区器Spark目前支持Hash分区和Range分区,用户也可以自定义分区,Hash分区为当前的默认分区,Spark中分区器直接决定了RDD中分区的个数、RDD中每条数据经过Shuffle过程属于哪个分区和Reduce的个数注意:(1)只有Key-Value类型的RDD才有分区器的,非Key-Value类型...原创 2020-02-06 16:54:52 · 175 阅读 · 0 评论 -
第 2 章大数据SparkCore的RDD编程案例(下)
上篇:第 2 章大数据SparkCore的RDD编程案例(中)Action1、reduce(func)案例作用:通过func函数聚集RDD中的所有元素,先聚合分区内数据,再聚合分区间数据。需求:创建一个RDD,将所有元素聚合得到结果。(1)创建一个RDD[Int]scala> val rdd1 = sc.makeRDD(1 to 10,2)rdd1: org.apache...原创 2020-02-06 16:00:56 · 200 阅读 · 0 评论 -
第 2 章大数据SparkCore的RDD编程案例(中)
上篇:第2章 大数据技术之SparkCore的RDD编程(上)一、案例操作1、repartition(numPartitions) 案例作用:根据分区数,重新通过网络随机洗牌所有数据。需求:创建一个4个分区的RDD,对其重新分区操作步骤:(1)创建一个RDDscala> val rdd = sc.parallelize(1 to 16,4)rdd: org.apache....原创 2020-02-05 19:20:17 · 250 阅读 · 0 评论 -
第2章 大数据技术之SparkCore的RDD编程(上)
上篇:第1章 RDD概述一、编程模型在Spark中,RDD被表示为对象,通过对象上的方法调用来对RDD进行转换。经过一系列的transformations定义RDD之后,就可以调用actions触发RDD的计算,action可以是向应用程序返回结果(count, collect等),或者是向存储系统保存数据(saveAsTextFile等)。在Spark中,只有遇到action,才会执行R...原创 2020-02-04 22:01:44 · 448 阅读 · 0 评论 -
第1章 RDD概述
1、什么是RDDRDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象。代码中是一个抽象类,它代表一个不可变、可分区、里面的元素可并行计算的集合。2、RDD的属性(1)一组分区(Partition),即数据集的基本组成单位;(2)一个计算每个分区的函数;(3)RDD之间的依赖关系;(4)一个Partitioner,即RD...原创 2020-02-04 14:36:11 · 555 阅读 · 0 评论 -
第 4 章 SparkSQL数据源
上篇:第 3章 IDEA创建SparkSQL程序通用加载/保存方法1、手动指定选项Spark SQL的DataFrame接口支持多种数据源的操作。一个DataFrame可以进行RDDs方式的操作,也可以被注册为临时表。把DataFrame注册为临时表之后,就可以对该DataFrame执行SQL查询。Spark SQL的默认数据源为Parquet格式。数据源为Parquet文件时,Spar...原创 2020-02-11 13:25:01 · 378 阅读 · 0 评论 -
第 3章 IDEA创建SparkSQL程序
上篇:第2章 SparkSQL编程一、创建SparkSQL程序准备工作:{"name":"123","age": 20}{"name":"456","age": 20}{"name":"789","age": 20}IDEA中程序的打包和运行方式都和SparkCore类似,Maven依赖中需要添加新的依赖项:<dependency> <groupId&...原创 2020-02-10 13:40:37 · 549 阅读 · 0 评论 -
第2章 SparkSQL编程
上篇:第1章 Spark SQL概述1、SparkSession新的起始点在老的版本中,SparkSQL提供两种SQL查询起始点:一个叫SQLContext,用于Spark自己提供的SQL查询;一个叫HiveContext,用于连接Hive的查询。SparkSession是Spark最新的SQL查询起始点,实质上是SQLContext和HiveContext的组合,所以在SQLContex...原创 2020-02-09 14:25:00 · 232 阅读 · 0 评论 -
第1章 Spark SQL概述
1、什么是Spark SQLSpark SQL是Spark用来处理结构化数据的一个模块,它提供了2个编程抽象:DataFrame和DataSet,并且作为分布式SQL查询引擎的作用。我们已经学习了Hive,它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduc的程序的复杂性,由于MapReduce这种计算模型执行效率比较慢。所有Spark SQL的应...原创 2020-02-08 17:29:09 · 216 阅读 · 0 评论 -
第 7 章 Spark 核心组件解析
上篇:第 6 章 Spark 内存管理1、BlockManager数据存储与管理机制BlockManager是整个Spark底层负责数据存储与管理的一个组件,Driver和Executor的所有数据都由对应的BlockManager进行管理。Driver上有BlockManagerMaster,负责对各个节点上的BlockManager内部管理的数据的元数据进行维护,比如block的增删...原创 2020-02-12 19:54:45 · 166 阅读 · 0 评论 -
第 6 章 Spark 内存管理
上篇:第 5 章 Spark Shuffle解析Spark 内存管理在执行Spark 的应用程序时,Spark 集群会启动 Driver 和 Executor 两种 JVM 进程,前者为主控进程,负责创建Spark 上下文,提交 Spark 作业(Job),并将作业转化为计算任务(Task),在各个 Executor进程间协调任务的调度,后者负责在工作节点上执行具体的计算任务,并将结果...原创 2020-02-12 19:28:02 · 145 阅读 · 0 评论 -
第 5 章 Spark Shuffle解析
上篇:第 4 章 任务调度机制1、Shuffle的核心要点ShuffleMapStage与ResultStage在划分stage时,最后一个stage称为finalStage,它本质上是一个ResultStage对象,前面的所有stage被称为ShuffleMapStage。ShuffleMapStage的结束伴随着shuffle文件的写磁盘。ResultStage基本上对应代码中的...原创 2020-02-12 17:10:58 · 179 阅读 · 0 评论 -
第 4 章 任务调度机制
上篇:第 3 章 Spark 通讯架构Spark 任务调度机制在工厂环境下,Spark集群的部署方式一般为YARN-Cluster模式,之后的内核分析内容中我们默认集群的部署方式为YARN-Cluster模式。1、Spark任务提交流程在上一章中我们讲解了Spark YARN-Cluster模式下的任务提交流程,如下图所示:下面的时序图清晰地说明了一个Spark应用程序从提交到运行的...原创 2020-02-12 16:10:42 · 588 阅读 · 0 评论 -
第 3 章 Spark 通讯架构
上篇:第2章 Spark 部署模式1、Spark通信架构概述Spark2.x版本使用Netty通讯框架作为内部通讯组件。spark 基于netty新的rpc框架借鉴了Akka的中的设计,它是基于Actor模型,如下图所示:Spark通讯框架中各个组件(Client/Master/Worker)可以认为是一个个独立的实体,各个实体之间通过消息来进行通信。具体各个组件之间的关系图如下:E...原创 2020-02-12 15:28:54 · 169 阅读 · 0 评论 -
第2章 Spark 部署模式
上篇:第 1 章 Spark 内核概述Spark 部署模式Spark支持3种集群管理器(Cluster Manager),分别为:Standalone、Apache Mesos、Hadoop YARN1.Standalone:独立模式,Spark原生的简单集群管理器,自带完整的服务,可单独部署到一个集群中,无需依赖任何其他资源管理系统,使用Standalone可以很方便地搭建一个集群;...原创 2020-02-12 15:22:15 · 162 阅读 · 0 评论 -
第 1 章 Spark 内核概述
1、Spark 内核概述Spark内核泛指Spark的核心运行机制,包括Spark核心组件的运行机制、Spark任务调度机制、Spark内存管理机制、Spark核心功能的运行原理等,熟练掌握Spark内核原理,能够帮助我们更好地完成Spark代码设计,并能够帮助我们准确锁定项目运行过程中出现的问题的症结所在。2、Spark核心组件回顾2.1、 DriverSpark驱动器节点,用于执行S...原创 2020-02-12 14:49:22 · 129 阅读 · 0 评论 -
第 5 章 DStream转换
上篇:第3章 大数据kafka采集数据(Dstream创建)DStream转换DStream上的原语与RDD的类似,分为Transformations(转换)和OutputOperations(输出)两种,此外转换操作中还有一些比较特殊的原语,如:updateStateByKey()、transform()以及各种Window相关的原语。1、 无状态转化操作无状态转化操作就是把简单...原创 2020-02-12 14:12:12 · 610 阅读 · 0 评论 -
第3章 大数据kafka采集数据(Dstream创建)
上篇:第2章 Dstream入门Spark Streaming原生支持一些不同的数据源。一些“核心”数据源已经被打包到Spark Streaming 的 Maven工件中,而其他的一些则可以通过 spark-streaming-kafka 等附加工件获取。每个接收器都以 Spark执行器程序中一个长期运行的任务的形式运行,因此会占据分配给应用的 CPU 核心。此外,我们还需要有可用的 C...原创 2020-02-11 23:01:52 · 1071 阅读 · 0 评论 -
第2章 Dstream入门
上篇:第1章 Spark Streaming概述1、WordCount案例实操需求:使用netcat工具向9999端口不断的发送数据,通过SparkStreaming读取端口数据并统计不同单词出现的次数操作步骤:(1)添加依赖<dependency> <groupId>org.apache.spark</groupId> <a...原创 2020-02-11 15:04:37 · 292 阅读 · 0 评论 -
第1章 Spark Streaming概述
1、 Spark Streaming是什么Spark Streaming用于流式数据的处理。Spark Streaming支持的数据输入源很多,例如:Kafka、Flume、Twitter、ZeroMQ和简单的TCP套接字等等。数据输入后可以用Spark的高度抽象原语如:map、reduce、join、window等进行运算。而结果也能保存在很多地方,如HDFS,数据库等。和Spark基于R...原创 2020-02-11 13:49:32 · 205 阅读 · 0 评论 -
Spark官方简述
Spark是一种分布式的计算框架,可以处理海量数据,目前流行的计算框架MapReduce:适用于离线批处理,也可以用于实时计算Storm: 用于实时计算Spark:即可以用于离线批处理,也可以用于实时计算Flink:主要用于实时计算综上,我们发现MapReduce计算框架是一种高度依赖于磁盘I/O框架,而且在有些业务场景下,比如某算法(梯度下降法,逻辑回归)会多次用到前写job的结...原创 2020-03-04 22:52:04 · 774 阅读 · 0 评论 -
第2章 大数据Spark基础解析
上篇:第1章 大数据Spark概述1、Spark安装地址(1)官网地址http://spark.apache.org/(2)文档查看地址https://spark.apache.org/docs/2.1.1/(3)下载地址https://spark.apache.org/downloads.html2、重要角色2.1、Driver(驱动器)Spark的驱动器是执行开发程...原创 2020-02-02 22:04:55 · 228 阅读 · 0 评论 -
第1章 大数据Spark概述
Spark概述1.1、什么是SparkMR的缺点:mr基于数据集计算,所以面向数据(1)基本运算规则从存储介质中获取(采集)数据,然后进行计算,最后将结果存储到介质中,所以主要应用于一次计算,不适合于数据挖掘和机器学习的迭代计算和图形挖掘计算。(2)MR基于文件存储介质的操作,所以性能非常慢。(3)MR和hadoop紧密耦合在一起,无法动态替换Spark的历史(1)201...原创 2020-02-01 13:05:36 · 2689 阅读 · 0 评论 -
Spark Streaming整合Flume
Spark Streaming整合Flume方式有两种方式一:Flume-style Push-based Approachpom文件依赖<dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>s...原创 2020-04-13 16:36:25 · 207 阅读 · 0 评论 -
将统计结果写入到MySQL数据库中&黑名单过滤
(1)先在本地mysql数据库,并对其创建//创建数据库名为:imooc_sparkmysql> create database imooc_spark; Query OK, 1 row affected (0.00 sec)//使用数据库mysql> use imooc_spark;Database changed//创建数据表mysql> create ta...原创 2020-04-12 16:12:34 · 667 阅读 · 0 评论