spark类知识
老子天下最美
缘来缘去终会散,花开花败总归尘
展开
-
什么是scala?scala有什么用?
1.scala是什么? Scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。http://www.scala-lang.orgScala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚拟机),并...原创 2018-09-19 15:01:05 · 5324 阅读 · 2 评论 -
kafka整合sparkStreaming问题
(1)、如何实现sparkStreaming读取kafka中的数据 可以这样说:在kafka0.10版本之前有二种方式与sparkStreaming整合,一种是基于receiver,一种是direct,然后分别阐述这2种方式分别是什么 receiver:是采用了kafka高级api,利用receiver接收器来接受kafka topic中的数据,从kafka接收来的数据...原创 2018-10-14 20:21:54 · 274 阅读 · 0 评论 -
flume整合sparkStreaming问题
(1)、如何实现sparkStreaming读取flume中的数据 可以这样说: 前期经过技术调研,查看官网相关资料,发现sparkStreaming整合flume有2种模式,一种是拉模式,一种是推模式,然后在简单的聊聊这2种模式的特点,以及如何部署实现,需要做哪些事情,最后对比两种模式的特点,选择那种模式更好。 推模式:Flume将数据Push推给S...原创 2018-10-14 20:21:18 · 346 阅读 · 0 评论 -
如何解决spark中的数据倾斜问题
发现数据倾斜的时候,不要急于提高executor的资源,修改参数或是修改程序,首先要检查数据本身,是否存在异常数据。 1、数据问题造成的数据倾斜 找出异常的key 如果任务长时间卡在最后最后1个(几个)任务,首先要对key进行抽样分析,判断是哪些key造成的。选取key,对数据进行抽样,统计出现的次数,根据出现次数大小排序取出前几个。 比如: d...原创 2018-10-14 20:20:31 · 607 阅读 · 0 评论 -
spark中的数据倾斜的现象、原因、后果
(1)、数据倾斜的现象 多数task执行速度较快,少数task执行时间非常长,或者等待很长时间后提示你内存不足,执行失败。 (2)、数据倾斜的原因 数据问题 1、key本身分布不均衡(包括大量的key为空) 2、key的设置不合理 spark使用问题 1、shuffle时的并发度不够...原创 2018-10-14 20:20:01 · 833 阅读 · 0 评论 -
spark 如何防止内存溢出
driver端的内存溢出 可以增大driver的内存参数:spark.driver.memory (default 1g) 这个参数用来设置Driver的内存。在Spark程序中,SparkContext,DAGScheduler都是运行在Driver端的。对应rdd的Stage切分也是在Driver端运行,如果用户自己写的程序有过多的步骤,切分出过多的Stage,这...原创 2018-10-14 20:19:16 · 4012 阅读 · 0 评论 -
spark中如何划分stage
1.Spark Application中可以因为不同的Action触发众多的job,一个Application中可以有很多的job,每个job是由一个或者多个Stage构成的,后面的Stage依赖于前面的Stage,也就是说只有前面依赖的Stage计算完毕后,后面的Stage才会运行。 2.Stage划分的依据就是宽依赖,何时产生宽依赖,例如reduceByKey,groupByKe...原创 2018-10-14 19:43:59 · 2357 阅读 · 0 评论 -
spark中的常用算子区别(map、mapPartitions、foreach、foreachPartition)
map:用于遍历RDD,将函数f应用于每一个元素,返回新的RDD(transformation算子)。 foreach:用于遍历RDD,将函数f应用于每一个元素,无返回值(action算子)。 mapPartitions:用于遍历操作RDD中的每一个分区,返回生成一个新的RDD(transformation算子)。 foreachPartition: 用于遍历操作...原创 2018-10-14 19:43:30 · 7061 阅读 · 1 评论 -
spark中的RDD是什么,有哪些特性
RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。 Dataset:就是一个集合,用于存放数据的 Distributed:分布式,可以并行在集群计算 Resilient:表示弹性的 弹性表示 1、RDD中的数据可以存储在内存或者...原创 2018-10-14 19:42:14 · 2754 阅读 · 0 评论 -
scala语言实现排序
(1)冒泡排序: package cn.itcast.sort //冒泡排序 class BubbleSort { def main(args: Array[String]): Unit = { val list = List(3, 12, 43, 23, 7, 1, 2, 0) println(sort...原创 2018-10-14 20:22:26 · 618 阅读 · 0 评论