关闭

JVM监控与调优

光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分析原因并解决之。通过学习,我觉得JVM监控与调优主要的着眼点在于如何配置、如何监控、如何优化3点上。下面就将针对这3点进行学习。      (如果您对Java的内存区域划分和内存回收机制尚不明确,那在阅读本文前,请先阅读我的前一篇博客《Java系列笔记(3) - Java 内存区域和GC机制》,在该博客中,详细...
阅读(114) 评论(0)

Spark日志分析项目Demo(10) --JVM调优

JVM相关的参数,通常情况下,如果你的硬件配置、基础的JVM的配置,都ok的话,JVM通常不会造成太严重的性能问题;反而更多的是,在troubleshooting中,JVM占了很重要的地位;JVM造成线上的spark作业的运行报错,甚至失败(比如OOM)。java虚拟机可能会产生什么样的问题:内存不足??!!我们的RDD的缓存、task运行定义的算子函数,可能会创建很多对象。都可能会占用大量内存,没...
阅读(218) 评论(0)

Spark日志分析项目Demo(9)--常规性能调优

一 分配更多资源分配更多资源:性能调优的王道,就是增加和分配更多的资源,性能和速度上的提升,是显而易见的;基本上,在一定范围之内,增加资源与性能的提升,是成正比的;写完了一个复杂的spark作业之后,进行性能调优的时候,首先第一步,我觉得,就是要来调节最优的资源配置;在这个基础之上,如果说你的spark作业,能够分配的资源达到了你的能力范围的顶端之后,无法再分配更多的资源了,公司资源有限;那么才是考...
阅读(2695) 评论(5)

Spark机器学习笔记(2)--构建基于Spark的推荐引擎

1 推荐模型的分类推荐系统的研究已经相当广泛,也存在很多设计方法。最为流行的两种方法是基于内容的过滤和协同过滤。另外,排名模型等近期也受到不少关注。实践中的方案很多是综合性的,它们将多种方法的元素合并到一个模型中或是进行组合。 1.1 基于内容的过滤 基于内容的过滤利用物品的内容或是属性信息以及某些相似度定义,来求出与该物品类似的物品。这些属性值通常是文本内容(比如标题、名称、标签及该物品的其他...
阅读(216) 评论(0)

Spark机器学习笔记(1)--用Python进行数据处理和特征提取

机器学习的流程 公开的数据集 1. UCL机器学习知识库:包括近300个不同大小和类型的数据集,可用于分类、回归、聚类和推荐系统任务。数据集列表位于:http://archive.ics.uci.edu/ml/。 2. Amazon AWS公开数据集:包含的通常是大型数据集,可通过Amazon S3访问。这些数据集包括人类基因组项目、Common Crawl网页语料库、维基百科数据和Goog...
阅读(319) 评论(0)

Kafka+Storm+HBase项目Demo(5)--topology,spout,bolt使用

相关概念 1、Topologies 一个topology是spouts和bolts组成的图, 通过stream groupings将图中的spouts和bolts连接起来。2、Streams 消息流stream是storm里的关键抽象。一个消息流是一个没有边界的tuple序列, 而这些tuple序列会以一种分布式的方式并行地创建和处理。通过对stream中tuple序列中每个字段命名来定义st...
阅读(129) 评论(0)

Kafka+Storm+HBase项目Demo(4)--Kafka使用

第一个需求是按地区实时计算销售额,并进行3D柱图实时展示结果,含周同比。图表的数据3s自动更新。 期望效果 项目的架构:...
阅读(141) 评论(0)

Spark日志分析项目Demo(8)--SparkStream,广告点击流量实时统计

广告点击统计需求: (1)对接kafka,获得数据 (2)发现某个用户某天对某个广告的点击量已经大于等于100,写入黑名单,进行过滤 (3)计算广告点击流量实时统计结果 (4)实时统计每天每个省份top3热门广告 (5)实时统计每天每个广告在最近1小时的滑动窗口内的点击趋势(每分钟的点击量)主流程代码public static void main(String[] args) {...
阅读(208) 评论(0)

Spark日志分析项目Demo(7)--临时表查询,各区域top3热门商品统计

如果是在关系数据库里实现各区域top3热门商品统计,需要编写sql查询语句。 之前用RDD先排序,后获取top的方法实现top n, 下面换成用临时表的sql top查询来实现,流程是: (1)创建SparkConf,构建Spark上下文 (2)注册自定义函数,可以在临时表的sql查询中使用这些函数 (3)准备模拟数据 (4)获取命令行传入的taskid,mysql查询对应的任务参数...
阅读(173) 评论(0)

Spark日志分析项目Demo(6)--页面单跳转化率分析

页面单跳转化率这里用例子来解释页面单跳转化率 假设J2EE查询任务指定的页面流是3,2,5 (1)3PV ,跳转页面中前页面为3的统计个数 (2)3_5pv,跳转页面中前页面为3,后页面为5的统计个数 (3)5_2pv,跳转页面中前页面为5,后页面为的统计个数 (4)3_5 rate =3_5pv / 3 pv (5)5_2 rate = 5_2 pv / 3_5 pv 下面结合测试数...
阅读(214) 评论(0)

Spark日志分析项目Demo(5)--自定义Accumulator

累加器(accumulator)我们传递给Spark的函数,如map(),或者filter()的判断条件函数,能够利用定义在函数之外的变量,但是集群中的每一个task都会得到变量的一个副本,并且task在对变量进行的更新不会被返回给driver。而Spark的两种共享变量:累加器(accumulator)和广播变量(broadcast variable),在广播和结果聚合这两种常见类型的通信模式上放...
阅读(160) 评论(0)

Spark日志分析项目Demo(4)--RDD使用,用户行为统计分析

下面介绍通过日志分析用户行为流程 (1)某个J2EE项目在接收用户创建任务的请求之后,会将任务信息插入MySQL的task表中,任务参数以JSON格式封装在task_param 字段中。这是项目前提,不是本项目的内容。 接着J2EE平台会执行我们的spark-submit shell脚本,并将taskid作为参数传递给spark-submit shell脚本. spark-submit sh...
阅读(227) 评论(0)

Spark日志分析项目Demo(3)--Spark入口和DataFrame

我们先从入口main函数说起public static void main(String[] args) { // 构建Spark上下文 SparkConf conf = new SparkConf() .setAppName(Constants.SPARK_APP_NAME_SESSION) .setMa...
阅读(137) 评论(0)

设计模式的应用场景(23)--解释器模式

解释器模式定义:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。优点:容易修改和拓展语法,适用于文法简单并且对处理效率要求低的情况。 缺点:不适用于发杂文法的情况。使用时机:当有一个语言需要解释执行,并且可将该语言中的句子表示为一个抽象语法树的时候,可以用解释器模式。下面代码要把“我 爱 你”翻译成为英文,空格也要翻译,正好用上解释器模式。 可以看到...
阅读(151) 评论(0)

设计模式的应用场景(22)--迭代器模式

迭代器模式定义:提供了一种顺序访问一个聚合对象中各元素而又不暴露该对象内部结构的方法。优点:分离了集合对象的遍历行为,抽象出一个迭代器类来负责。 缺点:仅适用于访问容器。Java一些容器已经实现了迭代器模式,例如List,Map好吧,我们直接使用,不再自己生产了。import java.util.List; import java.util.ArrayList; import java.util.I...
阅读(136) 评论(0)

设计模式的应用场景(21)--备忘录模式

备忘录模式定义:该模式就是一个对象复制保存另外一个对象内部状态的对象。便于将对象状态恢复到原先保存的状态。优点:可以避免暴露一些应由源发器管理却又必须存储在源发器之外的信息。 缺点:开销大代价可能高。要保存的可能信息多,或者频繁保存恢复。领导找小巩建立一个会议纪要系统...
阅读(117) 评论(0)

设计模式的应用场景(20)--调停者模式

调停者模式定义:一个中介者对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其松散耦合,而且可以独立地改变它们之间的交互。优点:当使用调停者模式时它将各个通信的对象解耦,使得原本分布在多个对象间的行为集中在一起,改变这些行为只需要生成新的协调类即可。便于维护拓展。缺点:使控制集中化,因为所有的交互都集中在调停者类中。这个类变得复杂难管理。...
阅读(114) 评论(0)

设计模式的应用场景(19)--访问者模式

访问者模式定义:封装一些施加于某种数据结构上的操作,一旦这些操作需要改变的话,接受这个操作的数据结构可以保持不变。优点:使用访问者模式,对于原来的类层次增加新的操作只需要实现一个具体访问者角色,而不必改变整个类层次。每个具体的访问者角色都对应于一个相关操作。缺点:不适合具体元素角色经常发生变化的情况。每增加一个元素类都需要修改访问者类(也包括访问者类的子类或者实现类),修改起来相当麻烦。也就是说,在...
阅读(111) 评论(0)

设计模式的应用场景(18)--命令模式

命令模式定义:把一个请求或者操作封装到一个对象中。命令模式把发送命令的责任和执行命令的责任分割开,委派给不同的对象。优点:命令模式把请求一个操作的对象与知道怎么执行一个操作的对象分隔开,从而使新的命令类可以很容易被加入到系统当中。 缺点:命令类较多时不便于管理。使用时机:当需要先将一个函数登记上,然后再以后调用此函数时,就需要使用命令模式,其实这就是回调函数。...
阅读(124) 评论(0)

设计模式的应用场景(17)--职责链模式

职责链模式定义:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求直到有一个处理它为止。优点:降低类之间的耦合度,使得处理类仅需要保持一个指向后继者的引用,也使得一个对象无需知道是其他哪一个对象处理其请求,对象仅需知道该请求会被正确处理。接收者和发送者都没有明确的对方信息,增强了给对象指派职责的灵活性。 缺点:因为对象不知道是其它哪一...
阅读(105) 评论(0)
76条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:13239次
    • 积分:796
    • 等级:
    • 排名:千里之外
    • 原创:67篇
    • 转载:7篇
    • 译文:0篇
    • 评论:5条