spark
文章平均质量分 86
Jacob_llz
这个作者很懒,什么都没留下…
展开
-
基于Spark Mllib,SparkSQL的电影推荐系统
本文测试的Spark版本是1.3.1本文将在Spark集群上搭建一个简单的小型的电影推荐系统,以为之后的完整项目做铺垫和知识积累整个系统的工作流程描述如下: 1.某电影网站拥有可观的电影资源和用户数,通过各个用户对各个电影的评分,汇总得到了海量的用户-电影-评分数据 2.我在一个电影网站上看了几部电影,并都为其做了评分操作(0-5分) 3.该电影网站的推荐系统根据我对那转载 2017-08-09 18:02:33 · 758 阅读 · 0 评论 -
spark streaming从指定offset处消费Kafka数据
原文地址:http://blog.csdn.net/high2011/article/details/53706446 首先很感谢原文作者,看到这篇文章我少走了很多弯路,转载此文章是为了保留一份供复习用,请大家支持原作者,移步到上面的连接去看,谢谢一、情景:当Spark streaming程序意外退出时,数据仍然再往Kafka中转载 2017-10-29 14:56:45 · 3712 阅读 · 1 评论 -
SparkStreaming的log4j日志记录
博客前言为什么我们要写日志 基本上每个程序都要有日志记录的功能,日志的记录最重要的用处就是监控程序的运行状态和错误查找。如果程序没有写日志,那程序就像瞎子一样,瞎跑,你都不知道为什么数据不对,为什么程序报错,程序运行成功还是失败。在流式计算Sparkstreaming中,日志的记录是非常重要的;因为流式计算是需要7*24小时一直运行的,你不记日志你根本不知道程序运行成功还是错误(当转载 2017-11-07 18:38:32 · 1690 阅读 · 0 评论 -
Spark面对OOM问题的解决方法及优化总结
转载请保持完整性并注明来源链接: http://blog.csdn.net/yhb315279058/article/details/51035631 Spark中的OOM问题不外乎以下两种情况map执行中内存溢出shuffle后内存溢出 map执行中内存溢出代表了所有map类型的操作,包括:flatMap,filter,mapPatitions等。shuffle后内存溢出的shuff转载 2018-01-19 17:42:42 · 746 阅读 · 1 评论 -
Spark性能优化:开发调优篇
1、前言 在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据转载 2018-02-05 11:30:56 · 226 阅读 · 0 评论 -
Spark性能优化:资源调优篇
在开发完Spark作业之后,就该为作业配置合适的资源了。Spark的资源参数,基本都可以在spark-submit命令中作为参数设置。很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置这些参数,最后就只能胡乱设置,甚至压根儿不设置。资源参数设置的不合理,可能会导致没有充分利用集群资源,作业运行会极其缓慢;或者设置的资源过大,队列没有足够的资源来提供,进而导致各种异常。总之,无论是哪...转载 2018-02-05 11:31:59 · 241 阅读 · 0 评论 -
Spark性能优化:数据倾斜调优
前言 继《Spark性能优化:开发调优篇》和《Spark性能优化:资源调优篇》讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。1.数据倾斜调优调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此转载 2018-02-05 11:32:57 · 227 阅读 · 0 评论 -
Spark性能优化:shuffle调优
shuffle调优调优概述 大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行调优。但是也必须提醒大家的是,影响一个Spark作业性能的因素,主要还是代码开发、资源参数以及数据倾斜,shuffle调优只能在整个Spark的性能调优中占转载 2018-02-05 11:33:21 · 186 阅读 · 0 评论 -
sparkstreaming日志切分配置
在Spark Standalone模式下,spark默认使用org/apache/spark/log4j-defaults.properties配置,所有的日志都记录在stderr里面,由于Spark Streaming应用程序是一直运行的,时间长了以后stderr文件会非常大,占用空间的同时难以让我们调试和定位问题,所以我们需要切分日志,spark原生提供了对Executor日志的切分,Driv...转载 2018-04-02 15:38:03 · 1331 阅读 · 0 评论 -
spark接收kafka的数据运行spark程序节点的task数据倾斜
这是因为你的spark的slave节点和kafka的broker节点重合时,kafka的topic分区不均衡,没有分布在不同节点上,spark拉取数据就近原则,在那里拉取就在该节点计算,你可以建立多个分区均衡在各个节点上。导致这个原因是你的createDirectStream方法导致的,因为这个方法会自己映射你的kafka分区对应spark的分区,如果分区过少就会不均衡。原文:http转载 2017-10-20 16:36:58 · 292 阅读 · 0 评论 -
Spark Shuffle原理、Shuffle操作问题解决和参数调优
摘要: 1 shuffle原理 1.1 mapreduce的shuffle原理 1.1.1 map task端操作 1.1.2 reduce task端操作 1.2 spark现在的SortShuffleManager 2 Shuffle操作问题解决 2.1 数据倾斜原理 2.2 数据倾斜问题发现与解决转载 2017-10-19 13:44:00 · 436 阅读 · 0 评论 -
基于Spark平台的电影推荐系统实现
博主一年前写过一个这样的文章,电影推荐也是博主一年前就学习过的,温故而知新,重新拿出来好好重新研究一番。这时以前的文章链接:如何使用Spark ALS实现协同过滤http://www.aboutyun.com/forum.PHP?mod=viewthread&tid=13620(出处: about云开发),基于spark0.9官网当时给的例子,与本文有有所不同,本文最后也有经过修改的相转载 2017-08-09 22:15:17 · 9297 阅读 · 0 评论 -
Spark 机器学习《一》
1.机器学习(1)介绍机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中 改善具体算法的性能。 机器学习是对能通过经验自动改进的计算机算法的研究。机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。A computer program is said to learn from experience E with respect to转载 2017-09-04 10:37:21 · 296 阅读 · 0 评论 -
Spark 机器学习-实例演示- K-Means《二》
1.K-Means简介K-Means 是聚类的一个算法,是一个无监督学习,目标是将一部分实体根据某种意义上的相似度 和另一部分实体聚在一起。聚类通常被用于探索性的分析。 K-Means将n个观察实例分类到k个聚类中,以使得每个观察实例 距离它所在的聚类的中心点比其他的聚类中心点的距离更近。所 以它是一种基于距离的迭代式算法。 算法:1转载 2017-09-04 12:14:26 · 850 阅读 · 0 评论 -
RDD基本操作(上)
本文主要是讲解spark里RDD的基础操作。RDD是spark特有的数据模型,谈到RDD就会提到什么弹性分布式数据集,什么有向无环图,本文暂时不去展开这些高深概念,在阅读本文时候,大家可以就把RDD当作一个数组,这样的理解对我们学习RDD的API是非常有帮助的。本文所有示例代码都是使用scala语言编写的。 Spark里的计算都是操作RDD进行,那么学习RDD的第一个问题就是如何构建RD转载 2017-09-04 22:49:28 · 1164 阅读 · 0 评论 -
RDD基本操作(下)
上一篇里我提到可以把RDD当作一个数组,这样我们在学习spark的API时候很多问题就能很好理解了。上篇文章里的API也都是基于RDD是数组的数据模型而进行操作的。 Spark是一个计算框架,是对mapreduce计算框架的改进,mapreduce计算框架是基于键值对也就是map的形式,之所以使用键值对是人们发现世界上大部分计算都可以使用map这样的简单计算模型进行计算。但是Spark里转载 2017-09-04 22:50:05 · 405 阅读 · 0 评论 -
Spark 实现 朴素贝叶斯(naiveBayes)
介绍 Byesian算法是统计学的分类方法,它是一种利用概率统计知识进行分类的算法。在许多场合,朴素贝叶斯分类算法可以与决策树和神经网络分类算法想媲美,该算法能运用到大型数据库中,且方法简单,分类准确率高,速度快,这个算法是从贝叶斯定理的基础上发展而来的,贝叶斯定理假设不同属性值之间是不相关联的。但是现实说中的很多时候,这种假设是不成立的,从而导致该算法的准确性会有所下降。转载 2017-09-14 11:54:57 · 755 阅读 · 0 评论 -
Spark任务提交jar包依赖解决方案
通常我们将spark任务编写后打包成jar包,使用spark-submit进行提交,因为spark是分布式任务,如果运行机器上没有对应的依赖jar文件就会报ClassNotFound的错误。 下面有三个解决方法:方法一:spark-submit –jars根据spark官网,在提交任务的时候指定–jars,用逗号分开。这样做的缺点是每次都要指定jar包,如果jar包少的话可以这转载 2017-10-01 17:47:16 · 1611 阅读 · 1 评论 -
使用累加器配合广播变量做码表动态更新
广播变量简单介绍广播变量是允许程序员缓存一个只读的变量在每个节点上,而不是每个任务保存一份拷贝。例如,利用广播变量,我们能够将配置、较小数据量的码表分发到每个节点上,以减少通信的成本。 一个广播变量可以通过调用SparkContext.broadcast(v)方法从一个初始变量v中创建。广播变量是v的一个包装变量,它的值可以通过value方法访问,下面的代码说明了这个过程:scala> va...转载 2018-04-03 14:04:24 · 561 阅读 · 1 评论