文章存档
文章中心
2016-03-15 16:37:58
Flume是Cloudera提供的一个分布式、可靠、高可用的海量日志采集、聚合和传输的日志收集系统。Flume提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源收集数据。
Flume NG采用的是三层架构:Agent层,Collector层和Store层,每一层均可水平
2016-03-11 10:43:50
背景
在很多互联网产品应用中,有些场景需要加锁处理,比如:秒杀,全局递增ID,楼层生成等等。大部分的解决方案是基于DB实现的,Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端对Redis的连接并不存在竞争关系。其次Redis提供一些命令SETNX,GETSET,可以方便实现分布式锁机制。
Redis命令介绍
使用Redis实现分布式锁,有两个重要函数需要介绍
SETNX命令(SET
2016-02-24 21:55:57
基于Spark通用计算平台,可以很好地扩展各种计算类型的应用,尤其是Spark提供了内建的计算库支持,像Spark Streaming、Spark SQL、MLlib、GraphX,这些内建库都提供了高级抽象,可以用非常简洁的代码实现复杂的计算逻辑、这也得益于Scala编程语言的简洁性。
我们的应用场景是分析用户使用手机App的行为,描述如下所示:
手机客户端会收集用户的行为事件(我们以点击事件为例),将数据
2016-02-24 10:53:41
Flume+Kafka+SparkStreaming已经发展为一个比较成熟的实时日志收集与计算架构,利用Kafka,即可以支持将用于离线分析的数据流到HDFS,又可以同时支撑多个消费者实时消费数据,包括SparkStreaming。
实时统计需求
以60秒为间隔,统计60秒内的pv,ip数,uv
最终结果包括: 时间点:pv:ips:uv
原始日志格式
2015-11-11T14:59:59|~|xxx
2016-02-22 16:48:56
基于Mahout的电影推荐系统 详见 http://www.php3.cn/a/178.html
下载示例数据
本工程所用到的数据来源于此处 http://grouplens.org/datasets/movielens/
有100k到10m的数据都有。我们这里选择100k的数据。
对下载的数据解压之后,会出现很多文件,我们需要使用u.data和u.user文件。详细的数据说明可以参见READ
2016-02-22 15:09:34
MLlib 是spark的可以扩展的机器学习库,由以下部分组成:通用的学习算法和工具类,包括分类,回归,聚类,协同过滤,降维,当然也包括调优的部分
Data types
Basic statistics (基本统计)
summary statistics 概括统计
correlations 相关性
2016-02-22 14:47:04
1 机器学习强调三个关键词:算法、经验、性能,其处理过程如下图所示。
上图表明机器学习是数据通过算法构建出模型并对模型进行评估,评估的性能如果达到要求就拿这个模型来测试其他的数据,如果达不到要求就要调整算法来重新建立模型,再次进行评估,如此循环往复,最终获得满意的经验来处理其他的数据。
1.2 机器学习的分类
机器学习分为监督学习(Supervised learning)、无监督学习(Unsupervise
2016-02-22 11:30:42
基于Spark的电影推荐系统 详见 http://www.php3.cn/a/180.html
1、简介
Apache Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。经典算法包括协同过滤、聚类、分类等等。
Taste 是 Apache Mahout 提供的
2016-02-19 11:02:18
一、Mahout简介
查了Mahout的中文意思——驭象的人,再看看Mahout的logo,(就是他,骑在象头上的那个Mahout)
Apache Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现、分类(Classificatio
2016-02-19 10:38:55
在现今的推荐技术和算法中,最被大家广泛认可和采用的就是基于协同过滤的推荐方法。它以其方法模型简单,数据依赖性低,数据方便采集 , 推荐效果较优等多个优点成为大众眼里的推荐算法“No.1”。本文将带你深入了解协同过滤的秘密,后续将给出基于 Apache Mahout 的协同过滤算法的高效实现。
推荐中的协同过滤算法简单说明下:
首先,通过分
2016-02-18 18:09:19
1、推荐算法的条件
推荐算法从92年开始,发展到现在也有20年了,当然,也出了各种各样的推荐算法,但是不管怎么样,都绕不开几个条件,这是推荐的基本条件
根据和你共同喜好的人来给你推荐
根据你喜欢的物品找出和它相似的来给你推荐
根据你给出的关键字来给你推荐,这实际上就退化成搜索算法了
根据上面的几种条件组合起来给你推荐
实际上,现有的条件就这些啦,至于怎么发挥这些条件
2016-02-18 16:34:47
TopN操作
网上经常见到的问题: 给定一个大文件,求里面Ip出现最多次数的前N个Ip地址和出现次数。
bin/spark-shell #进入spark-shell
scala> val data = sc.textFile("/dw/spark/log.txt") #加载文件
14/05/14 17:23:33 INFO MemoryStore: ensureFreeS