第四部分-推荐系统-项目介绍
行业背景:
快速:Apache Spark之内存计算为核心 通用 :一站式解决各个问题,ADHOC SQL查询,流计算,数据挖掘,图计算 完整的生态圈 只要掌握Spark,就可以为大多数的企业的大数据应用场景提供明显的加速html
“猜你喜欢”为表明的推荐系统,从吃穿住行等
项目背景介绍:
本项目是一个基于Apache Spark 的电影推荐系统, 技术路线:离线推荐+实时推荐
项目架构:
-
存储层:HDFS做为底层存储,Hive做为数据仓库 (Hive Metastore:Hive管理数据的schema)算法
-
离线数据处理:SparkSQL (作数据查询引擎<===> 数据ETL)apache
-
实时数据处理:Kafka + Spark Streaming架构
-
数据应用层:MLlib 产生一个模型 als算法机器学习
-
数据展现和对接:Zeppelin分布式
选用考量: HDFS无论是在存储的性能,稳定性 吞吐量 都是在主流文件系统中很占有优点的 若是感受HDFS存储仍是比较慢,能够采用SSD硬盘等方案ide
数据处理层组件: Hive 在数据量不是很大或对实时性没有那么高要求的时候,能够选用做为计算引擎 消息队列通常仍是Kafka,消费者端也可使用Flink,Storm等... 同时,SparkStreaming的优点就是: 已经有与各个组件比较好的集成 这里写一个KafkaProducer做业实时将数据 放到Kafka 中 应用层:MLlib :Spark 对数据挖掘机器学习库的封装 ,ALS是其中一个算法 http://spark.apache.org/docs/1.6.3/mllib-guide.html http://spark.apache.org/docs/latest/ml-guide.html TensorFlow 偏向于深度学习 Zeppelin:包含各个图标表展现,并且组件集成性更多。做业调度略差 HUE 数据展现+做业调度 系统采用standaone模式,更加简单。 只有SPARK 环境,就使用standalone 脱机运行模式 Hadoop +Spark 就推荐:Spark On Yarn Spark On Docker : 任务封装为一个个的Docker,不依赖于你的物理机环境,每一个Docker 的资源能够更好的分配
主要模块:
-
存储模块:搭建和配置HDFS分布式存储系统,并Hbase和MySQL做为备用方案工具
-
ETL模块:加载原始数据,清洗,加工,为模型训练模块 和 推荐模块 准备所需的各类数据。oop
-
模型训练模块:负责产生模型,以及寻找最佳的模型性能
-
推荐模块:包含离线推荐和实时推荐,离线推荐负责把推荐结果存储到存储系统中 实时推荐负责产生实时的消息队列,而且消费实时消息产生推荐结果,最后存储在存储模块中
-
数据展现模块:负责展现项目中所用的数据
-
数据流向:
系统开发的重难点:
数据仓库的准备 :Spark + Hive 数据ETL ,Zeppelin +Hive 数据展现 数据处理: 实时数据处理 : 1.数据实时性,完整性 、一致性 , 2.保证应用不会崩溃掉,or 崩掉以后及时启动起来 并 数据一致性处理
拓展:
1.数据仓库怎么理解?两种东西,其一是IBM微软数据产品为表明的,其二是Hadoop+Hive Apache Hive™数据仓库软件有助于使用SQL读取,写入和管理驻留在分布式存储中的大型数据集。 能够将结构投影到已经存储的数据上。 提供了命令行工具和JDBC驱动程序以将用户链接到Hive。
2.数据源准备: Data Source:Movielens Open Data http://files.grouplens.org/datasets/movielens http://files.grouplens.org/datasets/movielens/ml-latest.zip
[root@hadoop001 ml-latest]# pwd /root/data/ml/ml-latest [root@hadoop001 ml-latest]# ll -h 总用量 1.9G -rw-r--r--. 1 root root 1.3M 10月 17 13:41 links.txt -rw-r--r--. 1 root root 2.8M 10月 17 16:06 movies.txt -rw-r--r--. 1 root root 725M 10月 17 16:07 ratings.txt -rw-r--r--. 1 root root 38M 10月 17 16:08 tags.txt [root@hadoop001 ml-latest]#
接下来就是开始Coding...
有任何问题,欢迎留言一块儿交流~~ 更多文章:基于Spark的电影推荐系统:https://blog.csdn.net/liuge36/column/info/29285