自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(152)
  • 资源 (10)
  • 收藏
  • 关注

原创 分享我在2014架构师大会演讲材料<<基于用户画像的大数据挖掘实践>>

分享我在2014架构师大会演讲材料>,猛点这里

2014-12-22 21:06:22 6933 2

原创 基于redis的分布式缓存disgear开源到github上了

基于redis实现的分布式的缓存,支持数据切分到多台机器上,支持HA,支持读写分离和主节点失效自动选举                          1. 需求   1) 性能内存操作,读写性能要求比较高2) 数据量支持数据切分,分为多个Shard,每个shard负责一定范围的数据3) 伸缩性当单个节点的数据量比较大的时,可以对该节

2013-11-23 13:52:14 17890 5

原创 构建高并发高可用的电商平台架构实践

各个维度总结电商平台中的高并发高可用的架构实践,从架构设计的理念到平台的逻辑架构,以及到平台架构中各个模块的介绍

2013-10-03 14:42:24 250463 59

原创 给研发培训资料两篇(架构设计&大数据)

互联网架构设计理念漫谈大数据平台及在推荐广告的应用

2015-09-04 15:02:56 6114 1

原创 随机森林&GBDT算法以及在MLlib中的实现

决策树的一个缺点是容易出现过拟合,可以把利用融合的方式把各个弱模型集成起来,解决过拟合,提高模型的泛化能力。决策树和bagging 、boosting的思想结合在一起,诸如随机森林、GBDT,在数据挖掘中的预测分类、推荐广告以及搜索中的排序算法模型、搜索关键词的扩展推荐等等应用的非常广泛。先讲一下bagging和boosting方式的区别。Bagging的方式算是比较简单的,训练多个模型,利用每个

2015-04-18 17:02:42 14565

原创 决策树在MLib中的实现解析

决策树作为一种分类回归算法,在处理非线性、特征值缺少的数据方面有很多的优势,能够处理不相干的特征,并且对分类的结果通过树的方式有比较清晰的结构解释,但是容易过拟合,针对这个问题,可以采取对树进行剪枝的方式,还有一些融合集成的解决方案,比如随机森林RandomForest、GBDT (Gradient Boost Decision Tree)等,对于随机森林、GBDT在后面的章节进行介绍模型的训练过

2015-04-17 14:59:32 8632 1

原创 Spark streaming的Exactly-once容错HA机制

Spark streaming 1.2提供的基于WAL的容错机制(参考上一篇博文http://blog.csdn.net/yangbutao/article/details/44975627),可以保证数据的计算至少被执行一次,但是不能保证只执行一次,比如在kafka receiver写数据到WAL中后,往zookeeper写offset失败,那么在driver失效恢复后,由于offset还是之前

2015-04-13 10:50:13 3919

原创 逻辑回归算法分析及在MLlib中的实现剖析

逻辑回归作为分类算法的一种,在互联网领域中的预测、判别中应用的非常广泛,像广告投放中的点击率预估,推荐算法中的模型融合等等。本文简要介绍逻辑回归的算法,以及在MLlib中的实现解析。逻辑回归其实是一个分类问题,此类问题的模型训练,基本上分3步骤,第一步要寻找假设预测函数h,构造的假设函数为在线性回归的函数基础上,加上一个Sigmoid函数进行Norm,把函数值输出在0到1的范围内,函数的值有特殊的

2015-04-11 15:15:33 10778

原创 MLlib算法简介

主要的机器学习的算法目前在MLlib中都已经提供了,分类回归、聚类、关联规则、推荐、降维、优化、特征抽取筛选、用于特征预处理的数理统计方法、以及算法的评测

2015-04-10 12:01:31 21297 1

原创 Spark streaming在可用性方面的改进

Driver的容错性和可用性,在spark1.2发布版本中,spark streaming提供了HA机制

2015-04-10 10:12:16 3666 1

原创 Spark streaming&storm流计算的相关对比

spark streaming和Storm作为当今流行的实时流计算框架,已经在实时计算方案应用的非常广泛了,其中spark streaming是基于spark的一个扩展,比storm的出现要晚一些。本章节从以下几个角度对两者进行了阐述,可以作为选型方面的一个参考。A、 数据处理方式 Spark streaming是构建在spark上的实时流计算框架,利用时间批量窗口生成spark的计算输入源RDD

2015-03-22 16:35:50 8109

原创 spark&yarn&storm的资源管理分配对并发性的考量

在常用的计算框架中,无论是spark、storm、yarn,如何提高并发量,提高集群的整体吞吐量是需要考虑的问题,其中资源容量规划和资源申请,对APP任务的并行执行方面有比较多的影响,下面罗列一下以上计算框架在资源规划和资源申请方面的一些类比:对于整个集群的处理能力来讲总是有限的,这个在很多资源管理调度框架中都有相应的总体容量的规划,每个APP或者JOB在申请资源执行时,也是需要提出多少资源的申请,集群再依照当前可用的资源,依据资源管理任务调度机制进行资源的分配和任务执行。资源的规划和申请一般都是以CPU

2015-03-21 22:18:14 3579

原创 漫谈搜素引擎的排序模型

万变不离其宗,搜索引擎的搜索结果排序算法模型,可以抽象为计算每一个doc的p(d|q),利用朴素贝叶斯算法原理,p(d|q)=p(q|d)*p(d)/p(q),p(q)对于每一个doc都是一样的,所以最终的排序打分是p(q|d)*p(d),p(q|d)是query和doc的匹配程度,p(d)是每个doc的本身的打分,而doc本身的打分可以定义的角度非常多,和诸多的因素有关。Lucene默认的排序算

2015-01-07 20:58:43 4119 1

原创 搜索推广中的查询词扩展

搜索在移动内容分发入口中占有很大的比重,相比较于搜索列表中的应用,搜索广告是在最优的位置展示推广的应用,用户的查询意图比较明显,可以进行高效的推广开发者的应用。对于广告位置的竞争排名,搜索广告一般的做法是,先对用户的query进行扩展,扩展之后再和广告的竞价词进行匹配,筛选匹配的广告,再根据质量得分*出价进行排序,质量得分一般是由很多的个因素组成,有广告应用的历史下载量、广告人气、以及query和

2015-01-07 13:43:58 3508

原创 大数据应用能力层次模型

画了一张在实践中的大数据应用能力层次模型草图,大数据应用的几个阶层从数据的基础平台,业务运营监控支撑,精细化的运营和营销,以及数据对外的服务和市场传播

2015-01-01 16:22:45 4267 1

原创 总结数据挖掘预测分类中的样本筛选和特征处理

基于特征化工程进行用户特征化,结合相关的机器学习算法对业务进行挖掘建模,在广告的精准投放、预测、风控等领域中应用的非常广泛。无论是有监督的学习分类算法,还是无监督的聚类也罢,都需要建立特征向量,对特征进行预处理;其中对于有监督的训练时,还需要进行样本的筛选。本章节讲解一下样本选择和特征处理方面的一些方法技巧。在做样本训练前需要挑选样本,需要注意样本不平衡的问题,比如在定向广告预估点击率二元模型中,

2015-01-01 15:44:45 17025 4

原创 内容分发平台个性化推荐系统经验简单总结

推荐在电商和互联网应用中已经应用的非常广泛,相比于根据query进行主动的搜索,推荐是更加被动的由系统自动推出商品给用户。搜索的意图比较明显,直接由query给出,而推荐需要计算猜测用户的意图,根据用户历史数据和当前行为,基于各种模型推荐合适的商品,提升用户体验,提高转化率。不过近些年来,搜索和推荐在底层模型和技术方面越来越趋于融合,利用机器学习的方式来改进搜索和推荐的质量,像搜索排序LTR等等。

2015-01-01 15:37:52 15454

原创 定向展示广告投放中的点击率预估模型简介

平台中有一些栏位是留给广告投放用的,对于平台来讲需要关注整体受益,用户需要关注用户体验,广告主需要进行精准的把广告投放给受众,提高转化率。广告投放给用用户展示,最重要的是排序,之前的排序公式是ctr*Bid,其中ctr是广告的历史点击率,Bid是广告主的出价。缺点是存在广告的冷启动和缺乏用户个性化诉求;对于新上架的广告,投放量太少,数据有偏,可以采用点击率平滑的方式,在广告投放前设置一个默认的展示

2014-12-22 20:33:05 10150

原创 基于NIO的长连接的实现已开放到github

长连接相对于短链接来讲,可以减少连接的建立和释放的开销,进而提高通信的效率,而长连接最大的问题是对于连接池中连接的维护。

2014-01-20 00:19:04 15905 2

原创 Yarn设计原理分析之NodeManager

1、  和其他模块之间的交互接口分析1)作为client,NodeStatusUpdater通过ResourceTracker协议和RM进行交互(NMàRM)。该API有两个方法向RM注册NodeManager,参数为httpPort、nodeId、totalResource,其中totalResource为节点的总可分配资源,包括CPU、内存。向RM心跳,NM启动后通过定期的向RM汇报Conta

2014-01-08 20:58:51 8527

原创 滑动窗口在storm中的实现

滑动窗口监控和统计应用的场景比较广泛,比如每隔一段时间(10s)统计最近30s的请求量或者异常次数,根据请求或者异常次数采取相应措施;这里说一下滑动窗口在storm中实现的原理。参见下图:窗口大小为30s,每10s就统计一次,那么窗口一共有3个slot,可以对窗口建立长度为3的数组;在storm的blot中在10s内通过execute(tuple)功能不停的把接收的tuple进行count个数(假

2014-01-04 22:07:56 16497 3

原创 Storm在批处理和事务方面的机制分析

1、storm事务性topology的提出对于容错机制,Storm通过一个系统级别的组件acker,结合xor校验机制判断一个msg是否发送成功,进而spout可以重发该msg,保证一个msg在出错的情况下至少被重发一次。但是在一些事务性要求比较高的场景中,需要保障一次只有一次的语义,比如需要精确统计tuple的数量等等。Storm 0.7.0引入了Transactional Topology,

2014-01-04 17:06:41 14381 1

原创 流式计算在容错方面的考虑

stream replayLineage trackingState Checkpointing

2014-01-04 06:27:17 3477

原创 Solr高亮显示highlight的三种实现

三种实现方式(termvector---,highlight),而且是stored=true第一种是,根据查询的docidsets,获取Document,并获取需要高亮的字段的value,根据query的term和field的value做匹配算法(Highlighter)第二种是,定义termvector(占用IO),包括position和offset,和第一种的区别是效率更高,根据query t

2013-12-23 17:45:08 9732

原创 lucene&solr cache在sort、facet等方面的应用解析

FiledCache(对应term),对某field的cache,值为:Array[docid]=term应用场景,sort和faceting其中sort操作,需要对该字段索引,并field不可以进行分词 Solr中的cacheFilterCache             fq=name:xxxx,unordered docidset            应用场景,facet query Qu

2013-12-23 17:17:24 3492

原创 关于HBase0.94版本在split region后META Scanner和CatalogJanitor并发操作时存在的问题

我们大家都知道,Hbase Region在达到一定大小的时会自动split为两个daughter region,

2013-12-22 11:31:01 3791 2

原创 给研发做的互联网架构设计理念培训

给研发做的互联网架构设计理念培训,分享给大家猛点这里

2013-12-17 21:20:40 3916

原创 HBase0.94在flush操作时候的一个漏洞

基于HBase0.94版本,在高并发写操作时,运行时偶尔出现丢失数据的情况,查看了HBase的日志,出现一下信息,WARN org.apache.hadoop.hbase.regionserver.MemStore: Snapshot called again without clearing previous. Doing nothing. Another ongoing flush or di

2013-12-16 22:02:43 2465

原创 您的鼓励,我的动力!(CSDN 2013年度博客之星评选)

亲爱的小伙伴们,大家好!很荣幸我能够成为CSDN 2013年度博客之星评选的候选人,希望继续得到大家的支持与鼓励!投票地址:http://vote.blog.csdn.net/blogstaritem/blogstar2013/yangbutao              您的鼓励,我的动力!

2013-12-16 20:26:15 1757

原创 SSO单点登录在互联网电商应用中的解决方案(基于CAS的改造)

电商平台中无论是前端还是后端会存在大量的业务应用,在整个交易的过程中请求是在各个业务应用中流转的,对于用户来讲只需要登录一次就可以访问所有的业务,这就是单点登录SSO。单点登录开源有很多的解决方案,比如基于session的SSO和基于cookie的SSO。业界使用比较多的基于session的SSO的开源解决方案比如CAS,流程示意图如下:这里不去详细说明流程,读者可以参考其他资料的

2013-10-24 11:58:41 12546 3

原创 关于Nginx session sticky

Nginx以前对session保持支持不太好,主要采用ip_hash把同一来源的客户(同一C段的IP)固定指向后端的同一台机器,ip_hash有个缺点是不能实现很好的负载均衡;直到nginx的扩展模块nginx-sticky-module的出现,解决了session sticky的问题。基本的原理:首先根据轮询RR随机到某台后端,然后在响应的Set-Cookie上加上route

2013-10-23 14:43:17 36263 6

原创 总结一下HBase各种级别的锁以及对读写的阻塞

为了保证并发操作时数据的一致性和性能,HBase中应用了各种各样高效的可重入锁,包括行级别的rowlock、mvcc,region级别的读写锁,store级别的读写锁,memstore级别的读写锁等等。1、  行级别的锁RowLockHBase中为了解决行级别在并发操作中的一致性问题,采用了Rowlock机制。保证只有同一个线程同时对该行做操作。当然rowlock有lease租约的概念

2013-10-22 16:51:21 11403

原创 HBase数据备份恢复的几种机制总结

1、  replication,通过类似mysql主从复制方式进行复制,基于HLog在应用场景个人感觉比较重要的一点是可以隔离计算分析型的操作和实时性操作带来的影响。对于DDL操作不做复制,过实时读取hlog中的entry来解析变更的数据然后发送到从集群中去。     2、  distcp,表数据文件的copy./hadoopdistcp  hdfs://w

2013-10-21 17:27:17 13976

原创 HBase snapshot分析

HBase以往数据的备份基于distcp或者copyTable等工具,这些备份机制或多或少对当前的online数据读写存在一定的影响,Snapshot提供了一种快速的数据备份方式,无需进行数据copy。参见下图Snapshot包括在线和离线的,在线方式,离线方式是disabletable,由HBase Master遍历HDFS中的table metadata和hfiles,建立

2013-10-21 15:46:13 7259 2

原创 事件驱动和状态机模式在YARN中的使用

阅读了下YARN的源码,架构中设计模式除了服务生命周期管理模式外,还包括事件驱动和状态机模式。生命周期管理模式在容器设计时候比较常见,包括资源模型的加载,卸载等等,比如tomcat、jboss等开源产品。这里重点讲一下事件驱动和状态机模式的使用。从提交任务到任务处理完成,YARN架构中整个任务的处理过程的设计都是事件驱动和状态机器的模式。对于事件驱动模式,对象包括事件类型EventTy

2013-10-12 15:47:28 6621 1

原创 新一代mapreduce体系架构介绍-YARN

最近研究了下新一代的mapreduce框架YARN,这里先对YARN框架的引入和架构做个介绍,后续针对每一块做深入分析从Hadoop0.23版本开始对于mapduce计算框架,就完全是新的架构了(YARN)。老的版本MRv1 Jobtracker中存在单点,功能比较多的问题,负责资源管理调度和job的生命周期管理(task调度,跟踪task过程状态,task处理容错),这样当大量的任务需要处理

2013-10-12 10:34:27 9929

原创 solr4性能优化实践参考

solr4性能优化参考

2013-09-30 20:42:40 7630

原创 HBase培训ppt

以前给研发做的HBase培训的ppt,分享给大家http://download.csdn.net/download/yangbutao/5206137 从以下角度对HBase进行了分析关系型数据库的在解决海量数据方面的解决方案和缺陷互联网业务的需求Nosql的提出,CAPHBase使用业务场景HBase的特性1)基于列式的高效存储2)强一致的数据访问3)

2013-09-28 15:00:48 7340 2

原创 高并发高可用的通信框架实践

通信组件用于业务系统内部服务之间的调用,在大并发的电商平台中,需要满足高并发、高吞吐量、高可用的要求。本篇就针对这些特性要求提出的相关的解决方案。

2013-09-28 10:20:16 7775 6

原创 分页查询中HBase rowkey在多个查询条件下的设计技巧

以前在设计HBase分页查询时内部分享的一个ppt

2013-09-20 20:38:34 7517

基于用户画像的大数据实践

用户画像的实际经验、推荐系统、大数据相关的资料 用户画像的实际经验、推荐系统、大数据相关的资料

2018-05-22

大数据平台及推荐的应用

大数据平台 hadoop spark storm 用户画像体系 推荐 广告

2015-09-04

互联网架构设计

空间换时间 数据与计算切分 多维度可用 伸缩 优化资源利用

2015-09-04

基于用户画像的大数据挖掘实践

2014中华架构师大会材料 大数据,用户画像,机器学习,数据挖掘

2014-11-17

互联网架构设计理念漫谈

高并发高可用的可伸缩的架构设计的原则 空间换时间 数据与计算 多维度可用 伸缩 优化资源利用

2013-12-17

HBase分页查询的rowkey设计技巧

用户历史订单列表查询rowkey设计技巧 最左前缀原则

2013-09-20

HBase分页查询性能测试ppt

里面包括了特定场合下,HBase随机查询的一些性能指标参考以及调优策略

2013-07-24

HBase 培训ppt

HBase 架构原理,从Nosql的提出,CAP 基于列式的高效存储 强一致的数据访问 高可靠 高性能 可伸缩,自动切分,迁移 Schema free

2013-03-31

linux util包

linux的一些工具包,包括uuid-dev luuid 等

2013-01-05

TCP.IP.Sockets.in.Java.2nd.Edition

描述Socket的通讯机制,nio机制 Socket就是TCP/IP协议的一种实现.它封装了TCP/IP协议并提供了一组基于该协议的操作方法

2010-04-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除