spark
文章平均质量分 92
moshang_find
这个作者很懒,什么都没留下…
展开
-
SparkStreaming scala Demo示例
1. 流式计算是什么1.1.离线批处理(batch calculation)所谓离线批处理,这里面有两个概念,一个是离线,还是一个是批处理。先看批处理,说白了处理的是一批数据,只不过这里的一批,数据量往往相对比较大,比如100G,500G,1T等等;离线指的是,数据是静态,或者说数据不变。所以二者合一,所谓离线批处理,就是对静态的,不变的数据集进行处理。有哪些特点呢?处理的数据是静态的...原创 2019-12-27 11:12:47 · 590 阅读 · 0 评论 -
sparkStreaming算子之transform
前言:transform不是transformation,后者是对所有的转换算子的统称,transform也是transformation算子中的一个。transform算子的主要作用就是为了弥补Streaming没有提供的相关功能的操作,比如:一个DStream和RDD进行关联操作join,或者减少分区数量。一、使用transform来完成分区减少coalsce的操作dstream.tra...原创 2019-07-11 18:37:18 · 534 阅读 · 0 评论 -
sparkStreaming算子之window
窗口算子,说白了就是每隔多长(S)时间,统计过去多长时间(W)内产生的数据。Spark Streaming提供了滑动窗口操作的支持,从而让我们可以对一个滑动窗口内的数据执行计算操作。每次掉落在窗口内的RDD的数据,会被聚合起来执行计算操作,然后生成的RDD,会作为window DStream的一个RDD。比如下图中,就是对每三秒钟的数据执行一次滑动窗口计算,这3秒内的3个RDD会被聚合起来进行...原创 2019-07-11 18:36:56 · 412 阅读 · 0 评论 -
sparkStreaming算子之updateStateByKey
updateStateByKey操作允许我们维护任意状态,同时不断地用新信息更新它。在有新的数据信息进入或更新时,可以让用户保持想要的任何状态。使用这个功能需要完成两步:定义状态: 可以是任意数据类型定义状态更新函数: 用一个函数指定如何使用先前的状态,从输入流中的新值更新状态。对于有状态操作,要不断的把当前和历史的时间切片的RDD累加计算,随着时间的流失,计算的数据规模会变得越来越大...原创 2019-07-11 18:36:29 · 697 阅读 · 0 评论 -
Spark Streaming与Kafka的集成
一、 整合版本说明 这是一种流式数据处理中最常见的方式之一,使用SparkStreaming去从kafka中拉取数据有两大主要的版本。主要在spark2.0开始之后进行区分。SparkStremaing-kafka-0-8版本在此版本中有两种方式来消费kafka中的数据,receiver的方式(已经被淘汰);最早出现的拉取kafka数据的方式,在1.2开始出现。direct的方式是1...原创 2019-07-06 14:41:14 · 235 阅读 · 0 评论 -
spark性能调优(三)之数据倾斜
一、什么是数据倾斜所谓数据倾斜(data skew)是由于数据分布不均匀造成计算时间差异很大,产生了一些列异常现象。二、常见现象1、个别task作业运行缓慢大多数的task运行都很快速,但是极个别的task运行非常缓慢,甚至是正常task运行时间好多倍。而一个作业运行的最终时间是由时间最短的那些task决定还是有哪些时间最长的task决定。2、莫名其妙的OOM异常这是一种相对比较少见...原创 2019-07-01 11:43:29 · 413 阅读 · 0 评论 -
spark性能调优(二)之资源调优
前言:理解资源调优,说白了就是为spark程序提供合理的内存资源、cpu资源等。所以需要知道有哪些参数可以设置这些资源。–conf PROP=VALUE手动给sparkConf指定相关配置,比如–conf spark.serializer=org.apache.spark.serializer.KryoSeri...原创 2019-07-01 11:42:10 · 522 阅读 · 0 评论 -
SparkStreaming和HDFS的整合代码实现
前言:在日常开发过程中,难免遇到SparkStreaming和HDFS的整合的需求,这里呢以WordCount为例给大家来一个入门案例参考~原创 2019-07-05 19:21:42 · 563 阅读 · 0 评论 -
sparkStreaming程序在线升级的两种方式
众所周知,线上的Spark Streaming应用程序都是7 * 24 * 30小时不间断运行的。因此如果需要对正在运行的应用程序进行代码的升级,那么有两种方式可以实现。1、并行的方式也就是升级后的Spark应用程序与旧的Spark应用程序并行,当新的应用程序没有问题时,才可以将旧的替换掉。这种方式适合于客户单独拉取自己的数据。该方法在企业中应用还是比较多的~2、必须有缓存系统保存数据才可以...原创 2019-07-08 19:34:02 · 645 阅读 · 0 评论 -
SparkStreaming性能调优
前言: 前方高能预警,因为都是文字,可能会比较枯燥,主要是从cpu以及内存两大方面来介绍的,希望大家能耐心一些看看,可能对大家会有所帮助哈~一、设置合理的cpu资源数很多情况下Streaming程序需要的内存不是很多,但是需要的CPU要很多。在Streaming程序中,CPU资源的使用可以分为两大类:1)用于接收数据;2)用于处理数据。我们需要设置足够的CPU资源,使得有足够的CPU资源...原创 2019-07-08 19:24:52 · 2658 阅读 · 0 评论 -
spark性能调优(一)之开发调优
一、为什么需要调优一般情况在实际的生产环境中编写代码会有各种各样的事情发生,比如说赶项目,所以留给程序猿的时间并不是很多,有时候还要面临需求方催进度或给领导进行汇报等等原因,造成在开发初期的时候一味的只是追求代码的功能实现,所以在易用性和性能上会比较差一些,所以在后期会对原有的代码进行性能调优和代码进行维护升级、优化、重构等等(ps:要不然性能低下的话真的是把人给“搞死”了)。二、开发调优开...原创 2019-06-24 09:55:15 · 452 阅读 · 0 评论 -
spark性能调优(四)之shuffle
前言: spark/mr作业在执行过程中,数据重排的过程,主要发生在mr的话,就在map输出和reduce输入的过程,如果在spark就发生在窄依赖阶段和宽依赖阶段。shuffle操作是分布式计算不可避免的一个过程,同时也是分布式计算最消耗性能的一个部分。一、spark shuffle发展和执行过程在spark中由于不同的ShuffleManager的的配置,会造成shuffle执行的流程不...原创 2019-07-02 09:19:07 · 386 阅读 · 0 评论 -
spark简介和一些核心概念
一、spark概念官网描述:Apache Spark是一个用于大规模数据处理的统一分析引擎。二、spark特点1、高速性Apache Spark使用最先进的DAG调度程序、查询优化器和物理执行引擎,实现了批处理和流数据的高性能;运行速度是hadoop的100倍以上。2、易用性Apache Spark程序可以使用java、scala、python、R、SQL语言开发,而且spar...原创 2019-06-22 16:19:49 · 861 阅读 · 0 评论 -
linux下spark(v2.2.2)的安装(完全分布式和高可用模式)
一、完全分布式安装**前提:**已安装scala(2.11.8)、hadoop(2.7.7)1、配置到环境变量:vim /etc/profile(这里是修改的root的环境变量配置,一般修改~/.bash_profile个人用户下的环境变量比较稳妥)在配置文件末尾追加上如下内容:export SPARK_HOME=/home/hadoop/apps/sparkexport PATH=$...原创 2019-06-17 17:45:06 · 299 阅读 · 0 评论 -
sparkCore之共享变量
概述:所谓共享变量,是为了解决task中使用到外部变量造成相关问题而出现的。spark提供了有限的两种共享变量:广播变量Broadcast变量和累加器Accumulator。原创 2019-06-20 20:28:37 · 242 阅读 · 0 评论 -
sparkCore之sparkRDD Persistence(sparkRDD持久化操作)
一、什么是持久化操作持久化操作就是以某种方式将一些数据或结果存储起来二、spark中为什么要有rdd的持久化的操作主要原因在于,如果我们相对一个RDD进行复用操作的时候,基于RDD的特性,当以rdd通过transformation转化为另外一个rdd的时候,前面的rdd就会被自动释放,此时还想在原来的rdd身上进行其它操作,需要从源头进行数据计算,这样效率自然会降低。为了能够在rdd重用的...原创 2019-06-20 13:35:24 · 363 阅读 · 2 评论 -
sparkCore之sparkRDD常用算子
前言: sparkRDD的操作,从宏观上分为:Transformation和Action,但是具体的还以分为:输入算子、变换算子、缓存算子,以及行动算子。官网地址:https://spark.apache.org/docs/latest/rdd-programming-guide.html#resilient-distributed-datasets-rdds原创 2019-06-19 23:33:07 · 706 阅读 · 0 评论