spark
无
Recall-MK
这个作者很懒,什么都没留下…
展开
-
sparkStreaming-检查点机制与驱动器容错
SparkStreaming的检查点机制:检查点机制是用来保障容错性的主要机制。控制发生失败时需要重算的状态数:设置检查点的话,那么程序发生失败的时候,可以直接通过检查点的记录来继续计算,而不需要再重新算一遍。提供驱动器程序容错:如果流计算中的驱动器程序崩溃了,你可以重启驱动器程序,并让驱动器程序从检查点回复,这样SparkStreaming就可以读取之前运行的程序处理数据的进度,并从那里继续。S...原创 2018-04-15 09:35:56 · 389 阅读 · 0 评论 -
spark-JDBCRDD
注意:1、sql 是查询语句,此查询语句必须包含两处占位符?来作为分割数据库ResulSet的参数,例如:”select title, author from books where ? < = id and id <= ?”2、lowerBound, upperBound, numPartitions 分别为第一、第二占位符,partition的个数def create...原创 2018-07-19 10:41:11 · 1072 阅读 · 0 评论 -
Spark中影响分区方式的操作的例子
val result = sc.textFile("hdfs://sxjdb01:8020/home/mk/chongfu")val links= result.map(x=>{ x.split(",") (x(0),x(1))}).partitionBy(new HashPartitioner(100)).persist(StorageLevel.MEMORY_ONLY_2)...原创 2018-07-19 10:37:56 · 488 阅读 · 0 评论 -
spark-获取RDD的方式以及从分区中获益的操作
Spark获取RDD的分区方式:使用partitioner对象,本质上是告诉我们RDD中各个健分别属于哪个分区。isDefined:用来判断该对象是不是有值Get:使用get来获取其中的值date.partitioner.isDefineddate.partitioner.getSpark从分区中获益的操作:Spark有许多算子都是要跨节点进行通信的。所以这些算子如...原创 2018-07-19 10:33:59 · 884 阅读 · 0 评论 -
SparkStreaming中的窗口操作
SparkStreaming中的reduceByWindow窗口操作: 统计当前10S长度窗口中的数,每隔5S接收的数据格式是:楼下的也是用的以下数据112package spark.streaming.sparkStreaming.havaStateimport kafka.serializer.StringDecoderimport org.apache.spark.SparkConf...原创 2018-04-06 17:16:45 · 1478 阅读 · 0 评论 -
SparkStreaming中的转化操作之--有状态操作主要是2种类型
有状态转化操作需要在你的StreamingContext中打开检查点机制来确定容错性,只需要传递一个目录作为参数给ssc.checkpoint()即可 1、滑动窗口: 上面的窗口时间是3,滑动时间是2;表示每隔2个批次就对前3个批次的数据进行一次计算例子:Val ssc = new StreamingContext(sc,Seconds(2)) --> Batch是Seconds(2)...原创 2018-04-06 17:14:35 · 1084 阅读 · 0 评论 -
SparkStreaming中的转化操作之--无状态操作
没有数据的时候不会报错,它会一直等待,所以不需要进行判断 每个DStream在内部是由许多RDD(也叫批次)组成,且无状态转化操作是分别应用到每个RDD上的。 无状态转化操作的例子map、filter、等等,操作都是每个批次中的数据,但是DStream如果使用join,union等基于健的操作的话,那么所传的RDD就必须同样也是DStream才行SparkStreaming中无状态操作的例子...原创 2018-04-06 17:12:42 · 511 阅读 · 0 评论 -
spark-steaming的2种操作
sparkStreaming支持2种操作:1、转化操作(transformation)会生成一个新的DStream,转换操作分为无状态操作和有状态操作a)无状态操作:例如map、filter、reduceByKey等都是无状态操作,因为它并没有使用之前批次的数据,操作的是每个时间区域中的数据,不会操作不同时间区域中的数据b) 有状态操作:基于滑动窗口的转换操作和追踪状态变化的转化操作,有状态转化操...原创 2018-04-06 17:09:40 · 442 阅读 · 0 评论 -
spark-map-flatMap-以及聚合操作
FaltMap算子与Map算子的区别: 一、什么时候使用FlatMap 当数据是一条数据对应多条数据的时候使用二、flatMap内的函数返回值必须是一个scala类型的集合才行三、Map内的函数返回值是一个对象聚合操作:例子一:使用reduceByKey,和mapValues计算每个键对应的平均值val rdd = sc.parallelize(Seq(("panda", 0), ("pin...原创 2018-04-06 17:06:26 · 971 阅读 · 0 评论 -
Spark-RDD懒加载
Transformation 操作是延迟计算的,也就是说从一个RDD 转换生成另一个 RDD 的转换操作不是马上执行,需要等到有 Acion 操作的时候才会真正触发运算。Transformation返回的数据类型是一个RDDAction 算子会触发 Spark 提交作业(Job),并将数据输出 Spark系统Action返回的类型是一个其他的数据类型详细解说: Transformation操...原创 2018-04-06 10:38:03 · 4886 阅读 · 1 评论 -
spark-RDD(弹性分布式数据集)
Spark中的RDD是一个不可变的分布式对象集合,每个RDD都会被分为多个分区,这些分区运行在集群中的不同节点上。创建RDD两种办法:常用(读取外部数据集) :testFile把程序中一个已有的集合传给parallelize,不常用,占内存:sc.parallelize(List(“a”,”c”))RDD的持久化也称为缓存(persist): SparkRDD是惰性求值的,而有时我们希望...原创 2018-04-06 10:32:26 · 393 阅读 · 0 评论 -
spark-SBT本地仓库更改
SBT在IDEA中配置仓库,和配置下载链接第一步:指定SBT的jar包第二步:修改jar包中的/sbt/sbt.boot.properties文件配置可直接用rar打开,修改覆盖,在这里我用的办法是将该文件右键鼠标打开方式,我选择的是IDEA,这样在修改保存,关掉的时候,rar会提示我是否覆盖[repositories]# local# local-preloaded-ivy: file://...原创 2018-04-05 17:34:29 · 1719 阅读 · 0 评论 -
spark-IDEA之SBT打包
SBT打包代码与依赖:这里我使用的是SBT进行的打包: 1、创建assembly.sbt并在里面写:addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.11.2") 2、Build.sbt中写:import AssemblyKeys._name := "saprk-sbt"version := "1.0"scalaVersion := ...原创 2018-04-05 10:45:15 · 872 阅读 · 0 评论 -
spark-使用maven打包
Spark使用maven进行打包(减少jar包大小):<name>org.kafka.grammar</name><packaging>jar</packaging>spark的依赖包<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core_2.10 -->...原创 2018-04-05 10:43:45 · 4007 阅读 · 0 评论 -
spark-核心概念
val lines = sc.textFile(“hdfs://xxxx.txt”)lines.count(统计RDD中的元素个数)Driver Program:从spark上层来看: 每一个spark应用都由一个驱动器程序(driver program)来发起集群上的各种并行操作. 我们在类中所写的main方法就属于驱动器程序,driver program通过一个SparkCon...原创 2018-04-05 10:42:22 · 142 阅读 · 0 评论 -
spark-数据分区
前提条件:第一点:只有当数据集多次被调用(例如:循环调用的时候),并且还是基于健的链接操作时,使用分区才会有帮助。第二点:给定的RDD分区只被扫描一次的时候,适用于分区第三点:将数据进行分区以后,需要对其进行持久化。如果不进行持久化的话,在下次被调用的时候,数据还是会重新求值,和没有指定分区就一样了。为什么要对其进行分区?在分布式程序中,通信(也叫数据混洗)的代价是很大的,因此控制数据的分布减少数...原创 2018-04-15 09:41:04 · 528 阅读 · 0 评论 -
spark-yarn查看集群资源
spark-submit --master yarn --deploy-mode cluster --executor-cores 4 --num-executors 3 --executor-memory 10g --class solr.CeShi sbt-solr-assembly08.jarApps Submitted:总共提交了多少个JOb(122)Apps Running:当前...原创 2018-04-15 09:38:23 · 10208 阅读 · 0 评论 -
spark的共享变量--累加器
累加器(共享变量):accumulator注意:首先要创建累加器的对象初始值是0 驱动器(driver program)程序可以调用累加器的value属性 累加器是一个只写变量 累加器最好还是不要在transform操作中使用:原因 (在transform操作中spark有可能会重复进行计算,例如如果有一个节点崩溃了,spark会自动将任务运行在另外一个节点上,这就造成了累加器有可...原创 2018-07-19 10:48:22 · 299 阅读 · 0 评论