Spark 基于item和user 的协同过滤实现 mahout已经提供了 item-based cf 算法,但是要想在 mahout 算法上修改item-based cf 相对来说比较繁琐,比如改进相似度或者改进推荐结果计算公式,更加令人头疼的是mahout 修改比较难调试,相比来说 spark 实现起来更加简单方便,同时 spark shell 在调试阶段特别方便。本文使用 spark 编写了 item-based和 user-based 两种协同过虑算法。
Spark GraphX GraphX是spark的一个新组件用于图和并行图计算。在一个高水平,GraphX通过引进一个新的图抽象扩展了spark RDD:带有顶点和边属性的有向多重图。为了支持图计算,GraphX 提供了很多基本的操作(像 subgraph, joinVertices, and aggregateMessages)和pregel的一个优化变种。除此之外,GraphX 包含了一个正在增长的图算法和图构造的集合来简化图的分析任务
spark streaming Spark streaming是Spark核心API的一个扩展,它对实时流式数据的处理具有可扩展性、高吞吐量、可容错性等特点。我们可以从kafka、flume、Twitter、 ZeroMQ、Kinesis等源获取数据,也可以通过由 高阶函数map、reduce、join、window等组成的复杂算法计算出数据。最后,处理后的数据可以推送到文件系统、数据库、实时仪表盘中。事实上,你可以将处理后的数据应用到Spark的
mahout 实战 本文整理了mahout比较常用的算法,部分章节理论知识进行了引用,小节后有引用网址,对mahout中的多种算法,使用中文实例进行讲解,像k-means中文聚类,朴素贝叶斯中文分类等,最后讲解了推荐算法应用的一般流程。
Spark 批量写数据入HBase 介绍 工作中常常会遇到这种情形,需要将hdfs中的大批量数据导入HBase。本文使用Spark+HBase的方式将RDD中的数据导入HBase中。没有使用官网提供的newAPIHadoopRDD接口的方式。使用本文的方式将数据导入HBase, 7000W条数据,花费时间大概20分钟左右,本文Spark可用核数量为20。
spark + ansj 对大数据量中文进行分词 目前的分词器大部分都是单机服务器进行分词,或者使用hadoop mapreduce对存储在hdfs中大量的数据文本进行分词。由于mapreduce的速度较慢,相对spark来说代码书写较繁琐。本文使用spark + ansj对存储在hdfs中的中文文本数据进行分词。
推荐算法注意事项总结 本文总结了多种推荐场景中的注意事项,或者推荐中比较关键的因素,不涉及算法描述,仅仅说明关注点,仅供参考。推荐算法有很多种,从算法的角度来说,我认为主要由以下几种:协同过滤系列(基于item和user),机器学习分类系列(喜欢和不喜欢二分类,或者回归中的分值代表喜欢程度),矩阵分解系列(mahout ALS算法,netflix举行推荐大赛获奖算法),关联规则(电商常用)。本文将从以上几种系列进行总结。
spark1.3.0 on yarn 构建(hive0.12.0) 1、编译spark源文件下载spark时,可以选择对应自己hadoop版本的pre-built版下载最新spark1.3.0。如果没有自己hadoop版本对应的预构建版本,或者spark对应的hive版本不一致等都需要重新构建构建方法详情见spark官网网址为https://spark.apache.org/docs/latest/building-spark.html本文是使用m
spark 1.3.0 将dataframe数据写入Hive分区表 从spark1.2 到spark1.3,spark SQL中的SchemaRDD变为了DataFrame,DataFrame相对于SchemaRDD有了较大改变,同时提供了更多好用且方便的API。DataFrame将数据写入hive中时,默认的是hive默认数据库,insertInto没有指定数据库的参数,本文使用了下面方式将数据写入hive表或者hive表的分区中,仅供参考。
spark sql on hive安装问题解析 安装spark时,默认的spark assembly 不包含hive支持。spark官网上说明“Spark SQL also supports reading and writing data stored in Apache Hive. However, since Hive has a large number of dependencies, it is not included in the default Spark assembly.” ,要想spark sql在hive上运行,需要编辑与自己使
spark on yarn运行产生缺jar包错误及解决办法 spark在很多时候由于配置的原因造成缺少jar包的情况,本文介绍了两种缺少jar包情况,并介绍了如何使用spark-submit的--jars和--driver-class-path参数将jar包动态调用。
python 过滤中文、英文标点特殊符号 在工作中经常遇到很多特殊的标点符号,像中文标点符号,英文标点符号。英文的标点符号比较容易过滤,而过滤中文的标点符号较麻烦。下面是从邮件中过滤特殊符号的方式供参考。
深入理解mahout基于hadoop的协同过滤流程 最近做mahout itembased collaborative filtering项目,今天把mahout 协同过滤的流程进行了一下梳理,以便能够更好了解mahout itembased协同过滤设计方式,以及能够对mahout itembased协同过滤源码进行修改。分享一下,希望对大家有所帮助。
Mahout基于hadoop实现itembased协同过滤流程解析 首先,我们分析mahout itembased协同过滤,必须先找到执行协同过滤的触发类org.apache.mahout.cf.taste.hadoop.item.RecommenderJob。我们通过研读RecommenderJob的代码来了解mahoutitembased协同过滤在hadoop上的实现方式。