spark
OOM_and_Exception
这个作者很懒,什么都没留下…
展开
-
spark原理架构
架构图:原创 2017-08-11 16:37:58 · 191 阅读 · 0 评论 -
SparkStreaming连接到kafka,防止重复消费
package com.manulife.mbps.behavior.data.streamimport java.util.Propertiesimport com.cloudera.com.amazonaws.util.json.JSONObjectimport com.manulife.mbps.behavior.common.utils.{IpUtil, ValidateUtil}imp原创 2017-08-14 11:00:21 · 4441 阅读 · 3 评论 -
Spark的数据倾斜和解决办法
数据倾斜的现象绝大多数的task运行的非常快,个别的task运行非常慢。正常运行的程序突然出现了OOM数据倾斜发生的原理数据倾斜的原理是在shuffle阶段产生的,在shuffle阶段,相同的key会被拉取到相同节点上的task去执行,比如join操作等等。大部分的key可能就是10万条,但是某一个key出现了100万条,所以导致大部分的key都执行完了,但是那个很多key的数据没有执行完毕,转载 2017-08-15 10:13:38 · 453 阅读 · 1 评论 -
spark的性能优化的方式
spark提供了两种序列化机制,Java的序列化和kryo序列化,使用kryo序列化占用更小的内存,但是kryo的缺点是:不是所有都能序列化,而且需要注册优化数据结构,比如优先使用数组和字符串,而不是集合对多次使用的rdd进行序列化和checkpoint()Java虚拟机的垃圾回收机制的调优,主要是调节新生代和老年代的大小和比例,通过配置参数来进行调节提高并行度 spark.default原创 2017-08-15 00:02:55 · 458 阅读 · 0 评论 -
创建RDD和RDD的持久化
创建RDD的方式第一种:通过并行化的方式创建RDDval arr = Array(1,2,3,4,5,6,7)val rdd = sc.paralleize(arr,4) //并行化程度是4//默认是根据集群的情况来设置分区,建议一个cpu分2-4个partition第二种方式:使用本地文件或者HDFS创建RDD textfile来读取文件创建RDD,默认情况下每一个Block创建一个part原创 2017-08-15 16:48:08 · 368 阅读 · 0 评论 -
SparkContext初始化图解与源码解析
源码解析: //standalone方式运行 case SPARK_REGEX(sparkUrl) => val scheduler = new TaskSchedulerImpl(sc) val masterUrls = sparkUrl.split(",").map("spark://" + _) val backe原创 2017-08-15 17:15:40 · 306 阅读 · 0 评论 -
数据清洗的要素
预处理阶段预处理阶段主要做两件事情:一是将数据导入处理工具。通常来说,建议使用数据库,单机跑数搭建MySQL环境即可。如果数据量大(千万级以上),可以使用文本文件存储+Python操作的方式。 二是看数据。这里包含两个部分:一是看元数据,包括字段解释、数据来源、代码表等等一切描述数据的信息;二是抽取一部分数据,使用人工查看方式,对数据本身有一个直观的了解,并且初步发现一些问题,为之后的处理做准备。转载 2017-08-23 17:17:35 · 4389 阅读 · 0 评论 -
将json数据映射成对象的处理办法
case class Person(channel: String, IP: String, mid: String, user_id_temp: String, user_id: String,原创 2017-08-29 14:42:35 · 3369 阅读 · 0 评论