Spark在智慧图书馆建设中的应用探索 2017年12月22日.

Slides:



Advertisements
Similar presentations
大数据基础技术和应用. 大纲 大数据概述 大数据基础技术 工程技术 策略技术 典型应用 我们处于数据爆炸的时代 数据库 文字记录 照片 线下数据信息化 网页数据 用户行为记录 数字图像 互联网 - 移动互联网 设备监控 智能家居 摄像头 传感器 地球上至今总共的数据量: 在 2006 年,个人用户才刚刚迈.
Advertisements

第5讲 索引构建 Index construction 授课人:高曙明
中华字库的云输入法 王勇 基础软件国家工程研究中心
第120讲:Hadoop的MapReduce和Yarn的配置实战详解
人力资源管理师——招聘与配置实操         .
Big Data Ecosystem – Hadoop Distribution
大數據的學習路線 目前做不到的:機率性太高的(博奕) 大數據的核心:預測 預測來自於:分析及樣本 樣本的產生及收集 樣本的儲存 樣本的處理
高一年级过渡性学习 活动汇报 高一年级组 教科研室 汉滨高中.
大 播 海 直.
第八讲 基于Hadoop的数据仓库Hive (PPT版本号:2016年4月6日版本)
“大云”大数据平台及应用 中国移动通信研究院 郭磊涛 2013年11月.
E-Mapreduce培训系列 基本介绍.
基于Hadoop的Map/Reduce框架研究报告
PB级科研数据集的管理和应用 曙光信息产业(北京)有限公司.
云计算学习报告 报告人: 陈 霁 大规模数据处理软件Apache Hadoop.
云计算业务应用-数据挖掘.
南京大学计算机科学与技术系 主讲人:黄宜华 2011年春季学期
巨量資料平台: Hadoop的生態系.
11.3 国产大数据库技术 阿里巴巴OceanBase 云创存储数据立方(DataCube)
《大数据技术原理与应用》 课程介绍 (2016春季学期)
台灣雲端運算應用實驗中心研發計畫 計 畫 期 間:自98年7月1日至99年6月30日止 執行單位名稱 :財團法人資訊工業策進會 國立中山大學.
第11章 海量信息存储 主讲:刘方明 副教授 华中科技大学计算机学院
HADOOP的高能物理分析平台 孙功星 高能物理研究所/计算中心
数据采集与Hadoop框架 报告人:黄文君 导 师:王华忠 BEA Confidential.
为教师开展大数据课程教学提供全方位、一站式服务
基于hadoop的数据仓库技术.
發展東華特色課程 期末成果發表 呂進瑞 國立東華大學財金系.
Made by Feng Nie 开源机器学习库&Hadoop介绍 Made by Feng Nie
Introduction to MapReduce
Cloud Computing for Big Data – Monitoring & Resource Management
YARN & MapReduce 2.0 Boyu Diao
Octopus(大章鱼): 基于R语言的跨平台大数据 机器学习与数据分析系统
資料探勘工具 - Splunk介紹 報告者:曾彥志 報告日期:2015/09/18.
分布式系统中的关键概念及Hadoop的起源、架构、搭建
第2章 大数据处理架构Hadoop (PPT版本号:2017年2月版本)
快速学习环境搭建 安装前预备工作(Linux相关配置) 实操演示(hadoop、hbase为例) 总结&练习题(课后练练手)
雲端計算 參考書籍:Python+Spark 2.0+Hadoop 機器學習與大數據分析實戰
Spark零基础入门——Spark入门基础
云计算之分布式计算.
王耀聰 陳威宇 國家高速網路與計算中心(NCHC)
基于Hadoop的数据仓库Hive.
《大数据技术原理与应用》 第七章 MapReduce (2016春季学期) 林子雨 厦门大学计算机科学系 主页:
第九讲 Hadoop架构再探讨 (2016春季学期)
CHAPTER 6 認識MapReduce.
开源云计算系统简介 电子工业出版社 刘鹏主编《云计算》教材配套课件11.
12/16/2014 Spark Fire Where there is spark, there is fire 12/16/2014.
Hadoop平台與應用規劃實作 報告者:劉育維.
从TDW-Hive到TDW-SparkSQL
基于大数据的物流资源整合 福建师范大学协和学院 沈庆琼.
Homework 1(上交时间:10月14号) 倒排索引.
《Spark编程基础》 《 Spark编程基础》课程介绍 (PPT版本号:2018年2月)
软件工程基础 云计算概论 刘 驰.
大数据介绍及应用案例分享 2016年7月 华信咨询设计研究院有限公司.
大数据与物流 沈庆琼 物流教研室.
Spark SQL 介绍 付士涛. Spark SQL 介绍 付士涛 大纲 Architecture(架构) 像Hive一样的User Interface(用户操作界面) DataFrame的使用(1.3以前叫做SchemaRDD)
斯坦福大学调研 蒋达晟.
基于大数据平台数据管理研究 何家乐 2013年7月 中国科学院高能物理研究所.
Hadoop入门
建国以来,大陆对台政策 金亚丽 周莎 黄运娜.
Unit 05 雲端分散式Hadoop實驗 -I M. S. Jian
Apache Flink 刘 驰.
105學年度 服務學習教育說明會 Service Learning.
基于MapReduce的Join算法优化
第五讲 金融证券化.
Cloud Computing Google云计算原理.
第8章 Spark MLlib (PPT版本号: 2019年春季学期)
Experimental Analysis of Distributed Graph Systems
《大数据导论(通识课版)》 第4章 大数据应用 (PPT版本号:2019年秋季学期)
《大数据导论(通识课版)》 第6章 大数据思维 (PPT版本号:2019年秋季学期)
《大数据导论(通识课版)》 教材官网: 第5章 大数据安全 (PPT版本号:2019年秋季学期)
Presentation transcript:

Spark在智慧图书馆建设中的应用探索 2017年12月22日

目 录 一、Spark研究背景和研究现状 二、Spark平台的相关技术 三、基于Spark平台关联规则的研究 四、阶段目标与展望

一、Spark研究背景和研究现状 (一)背景 大数据时代背景下,很多企业和研究机构都在研究挖掘海量数据及利用,将带动一 波新的快速增长。 大数据处理平台生态圈的更新,由早期的Apache开源项目Hadoop中的HadoopHDFS、 HadoopMapReduce、HBase、Hive的逐步产生的可扩展分布式处理平台。 Spark的诞生是基于内存的计算,处理速度在计算过程中多次迭代优于MapReduce Apriori算法是关联规则挖掘的经典算法之一,它是基于用户的相关行为数据, 通过挖掘频繁项集,找出彼此之间的关系。

MapReduce框架局限性 01 02 03 04 仅支持Map和Reduce 两种操作 迭代计算效率低(如机器 学习、图计算等) First one 仅支持Map和Reduce 两种操作 Second one 迭代计算效率低(如机器 学习、图计算等) 03 04 Third one 不适合流式处理(点 击日志分析) Fourth one 不适合交互式处理( 数据挖掘) MapReduce框架局限性

MapReduce编程不够灵活 尝试scala函数式编程语言 现有的各种计算框架各自为战 批处理:MapReduce、Hive、Pig 流式计算:Storm 交互式计算:Impala 能否有一种灵活的框架可同时进行批处理、流式计算、交互式 计算等?

在一个统一的框架下,进行批处理、流式计算、交互式计算

Spark 特点 内存计算引擎 DAG图 比MapReduce快10~100倍 高效 与hadoop集成 易用 提供了丰富的API,支持Java, Scala,Python,R四种语言 代码量比MapReduce少2~5倍 读写HDFS/Hbase 与YARN集成

(二)Spark研究现状 (1)Spark发展 Spark从2009年诞生,当下进入了快速发展期,国内目前主要集中在一些互 联网行业,比如阿里巴巴、百度、搜狐等。例如腾讯公司数据仓库TDW大量使用 Spark替代原来的Hadoop MapReduce,使性能得到有效提高,高校现在针对 Spark研究相对较少,随着智慧校园的建设模式的提出,更多的高校老师加入到 研究Spark如何处理海量没有被深入挖掘出的数据。

(二)Spark研究现状 (2)关联规则模型研究现状 关联分析是Agrawal于1993年提出的,对博客在商店购物零售数量进 行分析,从中找出可能同时购买的商品的集合,帮助销售上有目的为 顾客推荐商品,有效引导购物。

(二)Spark研究现状 (3)关联规则Apriori算法模型 Apriori算法是挖掘关联规则的频繁项集。首先定义两个互相独立的集合A和B ,假设A和B之间有一定的关联性,存在关联规则。用支持度和置信度来说 明:(1)支持度support(A=>B)= P(A∪B)即P(A∪B)的同时出现的概率 ;(2)置信度A和B在一定条件下出现的概率,即confidence = P(B|A),揭 示了A出现时,B是否也出现或有多大的概率出现。

(二)Spark研究现状 (3)关联规则Apriori算法模型

(二)Spark研究现状 (3)关联规则Apriori算法模型 原始数据中每一行称作一个事务,包含顾客一次购买的全部商品。如“milk”就是一个项。包含0 个或多个项的集合被称作项集。因此每一个事务可以看做一个项集,事物的一个子集也可以看做一个 项集。如果一个项集包含K个项,则称为K-项集。对于一个给定事务集合T,可以分为1-项集,2-项集, …,K-项集,K是T中最大事务宽度。

(二)Spark研究现状 (4)基于Spark关联规则Apriori算法模型的应用 传统基于Hadoop MapReduce 因为多次迭代,I/O访问次数多,需要处理的时间增长,影响了服务需求,因此借助Spark的基于内存的运算,快速迭代的并行化计算优势,可提高关联规则挖掘的效率。在挖掘用户产生数据中相关联信息的同时,及时推送读者可能感兴趣的书籍。比如学校图书馆个性化图书推荐,都是基于关联规则的预处理,其中询问者是学校老师和学生用户,最终回答者担任倒角色就是一个推荐系统的作用。

支持结构化数据的SQL查 询及分析查询引擎 二、Spark平台的相关技术 (一)Spark简介 Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce通用并行计算框架,基于内存的快速通用可扩展数据分析引擎。 目前,Spark整个生态生态系统中核心框架spark基础上,提供四个范畴计算框架,分别是: Spark streaming 支持流运算 Graphx 并形图计算框架 SparkSQL 支持结构化数据的SQL查 询及分析查询引擎 MLbase 底层分布式机器学习库和机器学习功能

Spark生态系统 Spark Streaming Spark SQL Graphx MLlib Machine learning MapReduce MPI Mesos YARN HDFS Tachyon

二、Spark平台的相关技术 (二)Spark程序运行模式-独立(Standlone)模式 Master Slave Executor zookeeper Task Executor Driver YourApplication Your Application

二、Spark平台的相关技术 (三) Spark核心概念和基本操作 RDD:Resilient Distributed Datasets,弹性分布式数据集 分布在集群的只读对象集合(由多个Partition构成) 可以存储在磁盘或内存中(多种存储级别) 通过并行“转换”操作构造 失效后自动重构

saveASTEXTFILE(“HDFS://…”) Operator示例 1 2 3 4 5 6 7 RDD 1 partitions 作用在RDD上的operation 8 map( + 1 ) RDD 2 Operation saveASTEXTFILE(“HDFS://…”) HDFS Storage System

RDD基本操作: Transformation(转换) 可通过Scala集合或者Hadoop数据集构造一个新的RDD 通过已有的RDD产生新的RDD 举例:map, filter,groupBy,reduceBy Action(行动) 通过RDD计算得到一个或者一组值 举例:count,collect,save

hdfs://host:port/input/data hdfs://host:port/output/data 一个完整的实例:wordcount import org.apache.spark._ import SparkContext._ object WordCount { def main(args: Array[String]) { if (args.length != 3 ){ println("usage is org.test.WordCount <master> <input> <output>") return } val sc = new SparkContext(args(0), "WordCount", System.getenv("SPARK_HOME"), Seq(System.getenv("SPARK_TEST_JAR"))) val textFile = sc.textFile(args(1)) val result = textFile.flatMap(line => line.split("\\s+")) .map(word => (word, 1)).reduceByKey(_ + _) result.saveAsTextFile(args(2)) Master地址 作业名称 依赖的jar包 Spark安装 目录 输入数据所在目录,比如: hdfs://host:port/input/data 数据输出目录,比如: hdfs://host:port/output/data

三、基于Spark平台Apriori关联规则算法研究 近年来,随着国内高校图书馆的规模越来越大,业务流程应用数据挖掘 技术,对关联规则、聚类分析进行研究,在基于Hadoop平台提出一种 MapReduce方式并行处理的Apriori算法,图书推荐服务在理论方面有了 一些进展,相关算法被相继的提出和改进,利于从大量数据中找到隐藏 的规则,进而挖掘出读者的借阅兴趣。改进和优化频繁项集的产生,在 海量数据挖掘中大大提高效率,例如基于Spark框架的Apriori关联规则 挖掘算法,提出分布式并行化算法,适用于大数据关联规则的挖掘。

应用 数据来源:

以安徽农业大学图书馆2010-2015年的所有图书借阅历史数据为实验数据,对前文 提出的关联规则兴趣模型进行验证。通过迭代调用transformation和Action操作,每 次迭代中利用上一次迭代结果进行求解。对数据集D设置最小支持度阈值 minSup=0.4.置信度阈值minConf=0.7

(三)应用 Apriori算法设计 以读者借阅历史记录为基础,通过图书馆数据库积累的历史记录,包括证件号,图 书MARC号,借阅时间,归还时间,续借次数,图书类别信息构建模型。建立了基于 读者身份、读者专业、图书类型等多维属性读者借阅关联规则挖掘模型,利用 Spark框架技术,运用Apriori算法的剪枝思想改进频繁项,所建模型可以挖掘读者 借阅图书类型之间关联关系,提高关联效率。通过类似行为或偏好的用户群进行分 析和预测得到用户兴趣偏好。

(三)应用 Apriori算法设计

(三)应用 技术架构设计与推荐系统的部署 本系统具有3个节点的Spark集群,每个节点配置完全一样,3个节点中一个是 Master节点,其他均为Slave节点,同时这些节点还运行了分布式存储框架HDFS的 服务。 项目 项目配置 CPU 8核心 2.4GHz 内存 5GB 硬盘 1TB 网卡 千兆网卡 操作系统 CentOs 6.5 Spark版本 Spark 1.5.2

(三)应用 基于Spark的设计 采用Scala语言,基于Spark实现,运行框架由Drive和Executor构成。把过滤推荐算法分成 很多算子,计算基于RDD实现。

(三)应用 技术架构和部署架构 Web Service Spark MVC Logback Map/Reduce Mahout FTP Sqlite HDFS HBase JDBC 工具 Spark Spark streaming MLLib 实时处理层 类实时处理层 离线加工层 数据层访问层 数据层

(三)应用 推荐库 信息库 用户信 息文档 库 统一用户登录系统 资源共享平台 基于关联规则的子系统设计 Spark Cluster Mm Spark Cluster MLib Hadoop Cluster Mahout 关联规则Apriori算法模块 推荐库 信息库 资源共享平台 用户信 息文档 库 访问 连接

(四)目标与展望 大数据的发展是因为现代互联网中蕴藏丰富的数据信息,有效的挖掘和应用是 大数据平台考虑和需要解决的问题。Spark的出现让从传统Hadoop Mapreduce模式 转向了基于内存的迭代式方式,推荐系统是一种从用户信息中挖掘信息的应用,推 荐算法中不断的迭代就非常适合在Spark平台运行,因此提出了基于Spark平台的图 书推荐系统。 通过Spark平台的成功搭建,以及Apriro关联规则算法的模型应用,着重研究 了该算法在Spark平台如何进行并行化设计及实现。 但其他相关的推荐算法并行化与平台自身的优化尚出于初级阶段,以及如何通 过Apriori算法得出的频繁项集应用到推荐系统,开发框架Spring、Spring Web MVC、Spring Data需要下一步继续做的工作。