您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > 大数据Spark案例及实践
大数据Spark案例及实践刘萍2016年10月29日—11月2日北京培训汇报目录大数据技术框架Hadoop与Spark生态系统课程内容安排1231培训老师简介2Hardoop与Spark生态系统34444五天培训内容简介培训思考董西成 硕士毕业于中国科学院(计算技术研究所); 目前就职于hulu(北美著名在线视频公司); 2009年开始接触hadoop,在hadoop之上进行了大量定制和二次开发; 技术博客: 技术书籍:培训老师介绍:董西成3持续学习hadoop123:董西成的微信公众号专注于Hadoop/spark等大数据相关技术的分享 互联网领域 搜索引擎,推荐系统,广告系统 电信领域 用户画像,用户行为分析 医药生物领域 DNA分析 视频领域 视频存储,视频分析1.⼤数据应⽤领域 金融领域 信用卡欺诈分析,用户分析 矿产勘探领域 矿产石油勘查预测1.⼤数据应用领域数据源(互联网、物联网、企业数据等)改编自:工业和信息化部电信研究院,“2014大数据白皮书”批处理交互式分析流处理数据可视化数据挖掘(数据仓库,OLAP,商务智能等)(4)计算框架(6)数据展示(5)数据分析大数据技术框架资源管理数据存储(SQL和NoSQL)数据收集(ETL,提取,转换,加载)(3)资源管理(2)数据存储(1)数据收集/准备2.大数据技术框架用户(分布式协调务)ZookeeperFlume(日志收集)SqoopHDFS(分布式文件系统)YARN(分布式资源管理系统)HivePigHbase(分布式数据库)3.Hadoop生态系统Ambari(安装部署工具)Oozie(作业流调度系统)MapReduce(离线计算)StormSpark(内存计算)MLlib……SparkSQL计算类型及应用场景 批处理计算 对时间没有严格要求,吞吐率要高 迭代式与DAG计算 机器学习算法 交互式计算 支持类SQL语言,快速进行数据分析 流式计算 数据像流水一样进入系统,需实时对其处理和分析 高效(比MapReduce快10~100倍) 内存计算引擎,提供Cache机制来支持需要反复迭代计算或者多次数据共享,减少数据读取的IO开销 DAG引擎,减少多次计算之间中间结果写到HDFS的开销 使用多线程池模型来减少task启动开稍,shuffle过程中避免不必要的sort操作以及减少磁盘IO操作 易用 提供了丰富的API,支持Java,Scala,Python和R四种语言 代码量比MapReduce少2~5倍 与Hadoop集成 读写HDFS/Hbase 与YARN集成Spark特点MPIMapReduceSpark生态系统SparkStreaming实时计算框架SparkSQLGraphxGraph-parallel分布式图处理框架Mllib机器学习算法SparkYARN资源管理器HDFS分布式文件系统五天培训内容简介第1天(Spark基础)Spark基础Spark部署Spark程序设计1.Spark概述2.Spark核心概念3.Spark运行模式4.Spark在互联网公司中的应用1.Spark本地模式2.Hadoop集群搭建3.Spark集群模式1.Scala简介2.Spark编程基础3.Spark编程实例五天培训内容简介第2天(SparkSQL)SparkSQL基础Spark案例SparkSQL与DataFrame1.背景介绍2.SparkSQL主要组件3.DataFrame与DataSet4.TungstenSparkSQL程序设计与案例分析1.SparkSQL程序设计基础2.SparkSQL数据源3.常用operation介绍4.应用案例:篮球运动员评估系统五天培训内容简介第3天(Spark程序设计——Scala)Scala基础编程Scala核心概念Scala高级编程1.Scala简介2.Scala基础3.控制结构与函数4.数组5.映射和元组1.类与对象2.包和引入3.继承、多态4.I/O操作、Scala类层次结构1.特质2.正则表达式3.高阶函数4.样例类与模式匹配5.隐式转换与隐式参数五天培训内容简介第4天(搭集群)克隆三台虚拟机hadoop集群搭建Spark集群搭建1.克隆linux虚拟机网卡无法上网,网络配置2.同步时间3.配置各虚拟机的主机名4.配置集群Hosts,三台虚拟机hosts文件一致5.免密码登录6.关闭服务器的防火墙7.在所有虚拟机上安装JDK,配置环境变量三节点Hadoop集群搭建1.hadoop安装包上传至虚拟机用户根目录2.根目录解压缩hadoop安装包3.配置环境变量4.修改Hadoop配置文件5.将master上已经配置完的hadoop文件夹拷贝到slave01,slave02的用户根目录上6.将master上的~/.bash_profile文件拷贝到其它两个虚拟机上7.分别在master,slave01,slave02上执行:mkdir-p/home/zkpk/hadoopdata8.格式化namenode9.启动hardoop集群Spark集群搭建1.上传spark-1.6.1-bin-hadoop2.6.tgz安装包到Linux上,并解压2.配置Spark3.将配置好的Spark拷贝到其他节点上4.启动Spark集群五天培训内容简介第5天(SparkSQL)Hive数据仓库安装配置安装Scala集成开发环境1.解压并安装Hive2.安装配置MySql3.配置Hive1.安装IntelliJIDEACommunityEdition2016.2.52.配置环境3.编写Scala示例,测试打包,放集群上运行 广点通 腾讯大数据精准推荐借助Spark快速迭代的优势,围绕“数据+算法+系统”这套技术方案,实现了在“数据实时采集、算法实时训练、系统实时预测”的全流程实时并行高维算法。 基于日志数据的快速查询系统业务 构建于Spark之上的SparkSQL,利用其快速查询以及内存表等优势,承担了日志数据的即席查询工作。 典型算法的Spark实现 预测用户的广告点击概率; 计算两个好友间的共同好友数; 用于ETL的SparkSQL和DAG任务;Spark在腾讯中应⽤场景 搜索和广告业务 最初使用Mahout或者自己写的MR来解决复杂的机器学习,导致效率低而且代码不易维护; 改进:使用Spark来解决多次迭代的机器学习算法、高计算复杂度的算法等,将Spark运用于淘宝的推荐相关算法上。 图算法 利用Graphx解决了许多生产问题,实现的算法包括:• 基于度分布的中枢节点发现;• 基于最大连通图的社区发现;• 基于三角形计数的关系衡量;• 基于随机游走的用户属性传播等。Spark在阿⾥里巴巴中应⽤用场景 优酷土豆使用HadoopMapReduce发现的问题 商业智能BI方面,分析师提交任务之后需要等待很久才得到结果; 大数据量计算,比如进行一些模拟广告投放之时,计算量非常大的同时对效率要求也比较高; 机器学习和图计算的迭代运算也是需要耗费大量资源且速度很慢 使用Spark解决以上问题 交互查询响应快,性能比Hadoop提高若干倍; 模拟广告投放计算效率高、延迟小(同hadoop比延迟至少降低一个数量级); 机器学习、图计算等迭代计算,大大减少了网络传输、数据落地等,极大的提高的计算性能。Spark在优酷土豆中应⽤场景 Spark官方文档 Spark快速大数据分析 几乎为Spark官方文档的中文翻译 Spark在线练习 推荐阅读资料 Databricks技术博客 Hortonworks技术博客 Cloudera技术博客 推荐博客Hadoop安装部署链接:密码:24ix Spark官方代码 Scala代码实例 Java代码实例 Python官方代码 推荐阅读资料KeepInMind Spark不是一门孤立的技术 经常与Hadoop(HDFS/YARN/HBase等)一起使用 Scala/Java/Python语言 Maven/SBT项目构建工具 Spark在不断发展过程中 变化最多的是spark内核 API层很少变动,即程序设计者不需要不断修改程序 持续学习 这门课只是你你学习Spark的一个开始培训思考基于系部智慧云,搭建大数据集群,做些算法研究和应用!
本文标题:大数据Spark案例及实践
链接地址:https://www.777doc.com/doc-5632123 .html