大数据经典学习路线(及供参考)
流量日志分析之基础数据分析:电商网上商品数量在千万级别,店铺数量在百万级别,如何实时的计算一个每个商品页的访问数、用户数、来源信息等基础信息呢?如何实时的计算每个店铺的访问数、用户数、来源信息等基础数据呢? ? (图为页面浏览分析-数据部必备) ? 2.2、案例:统一监控告警系统 ? 随着公司业务发展,支撑公司业务的各种系统越来越多,为了保证公司的业务正常发展,急需要对这些线上系统的运行进行监控,做到问题的及时发现和处理,最大程度减少对业务的影响。不同业务的会有几十上百台服务器去支撑,大型企业可能是成千上万台服务器,那么每台服务器的硬件状态、业务应用状态如何实时的监控,做到及时发现,快速解决问题呢? ? (图为企业产生日志的系统清单) ? 统一监控系统触发的短信告警 ? 统一监控系统触发的邮件告警 ? 2.3、案例:交易风控系统 ? 电子商务是以互联网络为平台的贸易新模式,它的一个最大特点是强调参加交易的各方和所合作的伙伴都要通过Internet密切结合起来,共同从事在网络环境下的商业电子化应用。用户信息容易受到计算机病毒、黑客的攻击,商业信息和数据易于搭截侦听、口令试探和窃取,为了防止用户信息异常给商家和用户带来不必要的损失,企业期望针对用户的订单进行分析,对触发规则的订单进行风险预警,在必要情况下进行拦截及锁定订单。 ? (图为订单异常拦截) 学完此阶段可掌握的核心能力: ? 1.掌握函数式编程特性,熟练使用Scala开发程序,可以看懂其他用Scala编写源码。 2.搭建集群、使用Scala编写Spark计算程序,熟练掌握Spark原理,可以阅读Spark源码。 3.理解DataFrame和RDD之间的关系,熟练使用DataFrame的API,熟练使用Spark SQL处理结构化数据,通过Spark SQL对接各种数据源,并将处理后结果写回到存储介质中。 4.理解Spark Streaming的核心DStream,掌握DStream的编程API并编写实时计算程序。 ? 学完此阶段可解决的现实问题: ? 熟练使用Scala快速开发Spark大数据应用,通过计算分析大量数据,挖掘出其中有价值的数据,为企业提供决策依据。 ? 学完此阶段可拥有的市场价值: ? 学习完spark并掌握其内容,将具备中级大数据工程师能力,薪水可以达到?20K~25K。 ? 1.Scala函数式编程 ? 介绍:Scala是一门集面向对象和函数式编程与一身的编程语言,其强大的表达能力、优雅的API、高效的性能等优点受到越来越多程序员的青睐。Spark底层就是用Scala语言编写,如果想彻底掌握Spark,就必须学好Scala。 案例:Scala编程实战,基于Akka框架,编写一个简单的分布式RPC通信框架 ? ? 2.使用Spark处理离线数据 ? 介绍:Spark是基于内存计算的大数据并行计算框架,具有高容错性和高可伸缩性,可以在大量廉价硬件之上部署大规模集群,在同等条件下要比Hadoop快10到100倍。 ? ? 3.使用Spark SQL处理结构化数据 ? 介绍:Spark SQL的前身是Shark,专门用来处理结构化的数据,类似Hive,是将SQL转换成一系列RDD任务提交到Spark集群中运行,由于是在内存中完成计算,要比hive的性能高很多,并且简化了开发Spark程序的难度同时提高了开发效率。 ? ? 4.使用Spark Streaming完成实时计算 ? 介绍:Spark Streaming类似于Apache Storm,用于流式数据的处理。根据其官方文档介绍,Spark Streaming有高吞吐量和容错能力强等特点。Spark Streaming支持的数据输入源很多,例如:Kafka、Flume、Twitter、ZeroMQ和简单的TCP套接字等等。数据输入后可以用Spark的高度抽象原语如:map、reduce、join、window等进行运算。而结果也能保存在很多地方,如HDFS,数据库等。另外Spark Streaming也能和MLlib()以及Graphx完美融合 ? ? 5.Spark综合项目: ? 介绍:该项目使用了Spark SQL和Spark Streaming对游戏整个生命周期产生的数据进行了分析,从玩家第一次登录游戏到每天产生的游戏日志,通过大量的数据来分析该游戏的运营情况和玩家的各种行为:如活跃用户、用户留存、充值比例、游戏收人、外挂分析等。 ? 通过玩家登录游戏产生的数据分析一天之内各个时间段进入游戏的情况 ? 通过玩家登陆游戏产生的数据分析玩家在全国地区的分步情况,调整广告投放策略 ? 用户留存指标可以分析游戏对玩家的吸引力,分析用户流失原因 ? 用户等级信息可以分析玩家等等级分布情况、调整装备爆率和游戏难度 ? 通过上面游戏各个数据指标的分析,可以让游戏运维者了解游戏的运维情况,为运维者提供各种个性化的调整策略,从而保证游戏健康、稳定的运营。 (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |