数据工程师必须掌握的7个大数据实战项目

简介: 值得收藏,数据工程师必须掌握的7个大数据实战项目

原创: Lenis 有关SQL

1
作为一名电影爱好者,我阅片无数,有些片子还经常翻来覆去看个好几遍。小时候因为这事儿,没少被我妈抓耳朵,“看过的片子为啥还要倒二遍?”我也说不上来,就是单纯的爱看。

男人爱看的电影,以武侠,动作,科技为多,也认识了一帮明星,比如尼古拉斯凯奇,史泰龙,李小龙,成龙,李连杰,甄子丹等等。这些人很猛,有男人气。只要是他们的片儿,肯定不落下。在我眼里,他们就是好片代名词。

不知几何时,电影上开始出现一些不认识的男明星了,比如张翰,韩庚,鹿晗等等。看着这些人主演的片子,真是……哎,能不睡着就算是对得起票钱了。

后来我从半佛那里才知道,啥叫鲜肉,啥叫老阿姨审美。假如看到有更嫩的男演员,不用问了,老阿姨审美又变了。注定又是一部烂片。

那么,审美可以变,审词呢?

比如这几年,媒体一直在炒作的大数据,用前卫的词儿来说,Big Data. 听得人耳朵老茧都涨了一层。那么 大家是真把它当做有效的工具呢,还是固执的认为又是换汤不换药的营销噱头呢?

为弄清楚这个问题,我查了很多资料,中文的,外文的,百度文库的, Google 论文。期间的所见所闻可以写 3 部小说还不止。

令我印象最深的还属这件事:
《纽约时报》将 1851 - 1922 之间的 1100 多万篇文章,在24小时内花费3000美金,转成 PDF 供大众搜索查看。

资料背景指出,这些文章已经做好了 TIFF 图档格式,要解决的本质问题就是将 TIFF 转换成 PDF.这件事情,工作量非常大。单纯写代码转换,可行,但对完工时间不好把握。

此时有个工程师,仅凭一人之力完成了这项工作,整个过程,他只做了 4 件事情:

1) 首先他是资深编程爱好者。平常阅读技术Blog,知道 AWS, S3,EC2 等云计算概念,还熟悉 Google 的 MapReduce 论文,并且知道 Hadoop 的功能。

2)于是他自己在他的个人电脑上,搭建了Hadoop,玩起大数据,利用 MapReduce 来试着完成 TIFF 到 PDF 的转换;

3)接着在 Amazon 上申请 4 台 EC2 的主机,搭建了 Hadoop 集群,跑了一批 TIFF 到 PDF 转换程序。发现居然可行。

4)大规模实施批量转换,用了 24 个小时,3000 美金,最终将 1100 万文章的影音图像,转成了 PDF,并对外提供服务。

再举一些经过报道的大数据应用案例:
Yahoo!使用4000节点的集群运行 Hadoop, 支持广告系统和 Web 搜索;
Facebook 使用 1000 节点运行 Hadoop, 存储日志数据,支持其上的数据分析和机器学习;
百度使用 Hadoop 处理每周 200TB 的数据,进行搜索日志分析和网页数据挖掘工作;
中移动基于 Hadoop 开发了 BigCloud 系统,提供对内外的数据支持;
淘宝的 Hadoop 则处理电子商务交易数据。

初学者要入门大数据,最好的方式,从了解具体的应用开始。掌握大数据能做哪些事情,完成哪些小数据做不到的功能,学着才有意思。只有学着有意思,才会继续往下学。越学越想学,越学越开心,自然也就学好了。

接下来,我整理一些大数据已经发挥它真正作用的应用场景,如果你要做大数据项目,肯定离不开这7个范畴。

因此,你说大数据离我们远吗,我说肯定很近。不管你信不信,反正我信了。

2
项目一:数据整合
说到数据整合,我们做数据的人,一般想到的是数据仓库。

当我们有很多应用,比如 MES, ERP, HR, SALES AND Marketing, CRM 等,每个应用都是一些独立的数据岛,每个使用这些应用的人,都可以从这些应用里面找到自己想要的数据和答案,如果找不到也可以找IT帮你做报表。

但是当我们需要的数据,是整条完整的数据链,这些系统就显得无力了。比如我们要分析每个 ERP 的成本中心,到底分摊到每个车间,每道工序,有多少成本时,仅仅靠ERP就无能为力了,必须将 MES 的数据导入ERP,综合起来分析。此时,ERP数据就会整合部分的MES数据。但本身ERP是排斥这些MES数据的,过于详细,对BOM,PP等的支持粒度不够,需要重新写代码完善。

那么与其把这些数据都导入ERP,再重新编码,那还不如将MES,ERP的数据整合到一个数据库里面,重新出完整的数据字典,供财务或者运营去做分析。这就是数据仓库的作用了。

如果HR也想要从数据中,得到招聘人员的产出,同样也需要整合HR系统。CRM的分析师,可能想知道某个客户的利润,是否与生产成正相关,总不能让利润最少的客户长期霸占工厂的资源吧。因此CRM也可以接入到数据仓库来。

当数据仓库数据量超额时,比如 Oracle 成本已经很高,且计算能力也达不到旺盛的分析需求时,就需要考虑 Hadoop 了。因此 Hadoop 在这里扮演的角色就是数据仓库的落地数据存储和计算。

从传统的数据仓库架构扩展而来,此时企业的数据仓库又多了一层大数据,如下图:


(图来自mastechinfotrellis.com)

但是也有可能,Hadoop 的离线应用完成了聚合,分析师需要从原有的RDBMS获取,那么我们就需要回写到RDBMS里面来,方便分析师的调用。这里需要说明下为什么要回写关系数据库(SQL类数据库),很多分析师还在使用 Excel 和 Tableau 做数据分析,而这类工具最搭配的便是 RDBMS, SQL 的学习成本放在那里,Excel 的易用性摆在那里,还有 Tableau 漂亮的UI。而从 Hadoop 这类分布式数据系统中,取数分析,需要新型的作战武器, Zepplin 或者 IPython Notebook , 当然这类工具,SQL还是必不可少。

总之,数据整合是 Hadoop 的最基础应用,扮演的可能是最终存储,也有可能是整条数据链上的一环,也就是ETL中的任一角色。

在正式的报告中(官方文档或者公司知识库),大家会采用"企业级数据中心"或者"数据湖"来表示 Hadoop 的这类应用。

为什么要用 Hadoop 而不是传统的 Teradata 和 Netezza 呢?
很大的原因,Teradata, Netezza 的成本不是一般的高,如果用来存储一些非交易性的数据,造成很大的资源成本。比如评论,用户行为,这些完全可以存储在 Hadoop 的低成本集群中

项目二:专业分析

在《Spark高级数据分析》这本书里讲到一个实例,就是:
Estimating Financial Risk Through Monte Carlo Simulation

蒙特卡洛模拟分析,用来预测和监控银行流动性风险。这类专业应用,一般的软件公司并不会去考虑如何兼容,如何做的性能更优,比如数据量巨大的情况下,R有什么特别好的方法去处理,T-SQL会怎么处理,恐怕都无能为力?

针对有限的数据量,上述两个工具会 有不错的效果,但如今的数据量堆积下,要将原本一台单机提供的算力,复制到成千上百台计算机,传统的RDBMS和分析工具都会失效。

此时,Hadoop 配合 Spark 的组合,就有用武之地了!

众所周知,Yahoo!已有4000个Hadoop节点,用这4000个节点去计算一次聚合统计,比如有4亿的订单,需要核算每个订单的总金额,成本,和利润,那分配到4000个节点上,每个节点平均处理10万订单,之后汇总即可。

所以 Hadoop 可以处理更多的量,而 Spark 则在更快的计算上满足了需求。

拿 Spark 举个例子,比如推荐系统。喜爱音乐的朋友会用网易云音乐,喜欢看书的朋友经常会去亚马逊。不难发现的事情是,当你打开这些 App 的时候,会有很多音乐或者书推荐给你,你打开这些推荐的音乐或者书,可能还会觉得很好,正是自己喜欢或者需要的。这就是推荐系统。

推荐系统最大的难点在于实时性。我们可以用 Hadoop 聚合全部人的喜好,进一步去做实时推荐。而 Hadoop 的计算框架,要搭配 MapReduce 程序使用,这类程序最大的弱点是中间结果集存盘,而不是存在内存,那么对于推荐中经常使用的 ALS(Alternating Least Squares )算法就不友好了。这类训练算法需要无数次回头重读中间结果集,每次从硬盘读取结果(有可能还要重算),就会浪费极大的时间。

Spark 就是在解决这个问题。

它将所有的数据集封装在 RDD(Resilient Distributed Dataset)中,这个结果集天然就带着分布式特性,也就是每个Spark节点上都有一个小的RDD,针对RDD的计算都会分摊到这些小的RDD上,同步计算。这个特性满足了分布式并行计算的需求,RDD还有个特性就是Cache操作,将RDD的结果缓存到内存保存,之后可以复用RDD结果集。这是Spark区别于MapReduce的重要特点,简单说来,就是整个计算过程变快了,使得实时推荐也变成了可能。


(图来自https://luminousmen.com/post/spark-anatomy-of-spark-application)

看上去,我们只提交了一个Spark Job,完成对输入数据的处理,并且输出结果。没有特别厉害的地方。但背后做了很大的工作,它均衡地在每个数据节点上分配处理算子(Executor),做本地处理,之后将这些中间结果集缓存起来,以提供给其他子程序使用。

项目三:大数据作为服务

通常企业足够大,就会自建 Hadoop 集群用来满足数据整合或者专业分析的需求。当企业拥有自主开发 Hadoop 实力之后,会有多余的计算资源可以分享给其他企业用户,那么这时可以把 Hadoop 作为服务开放给市场。

这就是云计算的力量。

国外的案例有 GCP(Google Cloud Platform), Amazon, Microsoft Azure, 而国内出色的供应商则是HTA(华为云,腾讯云和阿里云).

要说明的是,Hadoop 作为云服务的一种,需要很强的技术性。针对创业型或资源短缺性的中小企业,则可以付费使用大公司提供的服务,大家各得其所。

云计算:基本概念

云计算目前可分为 IAAS,SAAS,PAAS,这三者在使用上有很大区别。

都说云计算有不可替代的成本优势,那么成本到底优化在哪里?

比如公司如果内建一个运维团队,包括硬件,软件与人员,配套的基础设施有机房,办公楼。再简单一些,这团队由一个人,一台服务器,一个办公室组成,软件全部由这个人来编写,采用的全部是开源技术,一年的费用算50万。

而这些采用云计算,这个人负责编程没变,但是可以在咖啡馆,图书馆,高铁,飞机,任何只要有网线的地方即可,这样就省去办公楼,硬件与软件的采购费用,主要成本都在云上和应用的开发人员身上。云上有专业的Devops团队,有DBA专业人员保障基础设施,还有可靠的机房双灾备,一切后顾之忧都交给了云服务商。按照腾讯云最新的企业云服务器,一年下来就3,500千块。

即买即用,部署极速

某天公司需要使用 Hadoop 的离线大容量存储来容纳日志,并且用 MapReduce 负责超大规模的计算,那么自建一个大数据团队,负责装机,配置和搭建,可能要花去1个月左右的时间,同时还需要进行业务的梳理和代码的编写,等到系统完毕,上线调试,这样大半时间下去了,效果还出不来。

而使用云计算,接口调试好,今天就可以导入数据,极大节约了时间成本。

如果云服务商对于每次查询都需要结算,而大数据又是公司避不可避的战略,那么内建也不是大问题。但往往公司业务还没成熟呢,就急着去部署大数据系统是不划算的。

云计算:IAAS, SAAS, PAAS 的区别:

通过NYT(NewYorkTimes)的4T TIFF图片数据转PDF的事件,我们来说明这三者的区别,就很容易了:

详细案例:https://t.zsxq.com/QrBmeaY

这个案例中,作者通过购买Amazon EC2 的100台服务器,将S3的4T文件转成PDF,并最终提供给大众搜索。

正好将IAAS,SAAS都涉及到了。比如 EC2,S3就是典型的IAAS,提供服务器操作系统,存储,网络,就是典型的IAAS应用;而最终开发的PDF搜索就是SAAS应用;如果作者不是自己写MapReduce来转换PDF,而是使用AWS提供的编辑软件,且使用了AWS的Hadoop, Spark作业接口实现了转换,那么PAAS也就被用到了。可能当时AWS并没有提供这样整套的开发环境。

如果你是微信小程序开发者,不难理解,小程序的开发就是在PAAS平台上完成的。

项目四:流分析
项目五:复杂的事件处理
项目六:流式ETL
项目七:可视化分析

阅读原文看其余项目:https://developer.aliyun.com/article/741504?utm_content=g_1000098199

原文地址:https://www.cnblogs.com/zhenbaozhu/p/12155781.html

时间: 2024-10-07 04:44:27

数据工程师必须掌握的7个大数据实战项目的相关文章

成为数据开发工程师?常用的几种大数据架构剖析你都掌握了吗?

数据分析工作虽然隐藏在业务系统背后,但是具有非常重要的作用,数据分析的结果对决策.业务发展有着举足轻重的作用.随着大数据技术的发展,数据挖掘.数据探索等专有名词曝光度越来越高,但是在类似于Hadoop系列的大数据分析系统大行其道之前,数据分析工作已经经历了长足的发展,尤其是以BI系统为主的数据分析,已经有了非常成熟和稳定的技术方案和生态系统,对于BI系统来说,大概的架构图如下: 可以看到在BI系统里面,核心的模块是Cube,Cube是一个更高层的业务模型抽象,在Cube之上可以进行多种操作,例如

大数据就业前景怎么样,学完大数据怎样就业

对于想要学习大数据专业,或者正在学习大数据专业的同学来说,最关心的应该就是就业问题.大数据就业前景怎么样?学完大数据应该怎样就业?一.大数据就业前景:首先得明确当下市场对大数据人才的需求,大数据技术人才目前在我国的供需状态,是严重的供不应求,虽然近年来,学大数据的人数有所增加,但是这还未满足我国对大数据人才的需求,我国对大数据人才的需求缺口高达20万.零基础的朋友也都知道自己可以学大数据,但是想找份好的大数据工作,那么必须自己拥有真材实料,靠自学大数据,太慢并且能不能学成还是个疑问,怎么想也不太

蔡先生论道大数据之十: 企业如何入手大数据战略(1)

今天之后的几章我们重点讨论企业如果要利用大数据应该从那几个方面入手,我粗粗的总结了一下大致分三个方面,这三个方面做到为了,恭喜你你的企业正开始享受和拥有大数据来的红利和价值. 具体入手之前,我们先要明确一点就是首先企业管理层需要有清晰思路然后从上到下认真贯彻,管理层还要对预期的业务影响要有个清晰的认识,能够给出从数据收集.模型建立到企业文化转型的一揽子方法,避免掉进"数据可以为企业做那些"这样的思维陷阱中去. 企业定制大数据战略,需要注意三个关键点,说白了也就根据前面文章总结出来的精髓

蔡先生论道大数据十九:王羲之与大数据

2013年德勤公司发布了一份<2013年艺术品在线交易报告>,显示艺术品投资交易方式由线下慢慢朝着线上交易的方式转变,过去几年至少有80%的藏家尝试过在线购买艺术品,这一趋势还在不断上升.对于艺术品电商来说是个好势头. 但艺术品电商如何找到潜在市场.定位目标客户,提高用户体验和转化率从而增加收益,首先,我们看一下艺术品电商和传统电商的区别,购买艺术品的人群属于高净值的精英阶层,相比淘宝用户数量来说比例非常小,购买特点具有明显的喜好性,比如有人喜欢收藏字画,而有人喜欢瓷器,其次艺术品非普通商品具

华为企业云重磅亮相 “大数据产业周”,推进京津冀大数据产业发展

2015年12月7-13日, 中国(廊坊) 大数据产业周(以下简称大数据产业周)在河北省廊坊市项目中心正式启幕,本次大数据产业周活动是继党的十八届五中全会提出实施“国家大数据战略” 与8 月31 日国务院印发<促进大数据发展行动纲要>后, 国内首次举办的以大数据为主题的产业周活动,共吸引百余家知名厂商参展,近1000位大数据领域专业观众参加.华为企业云在大数据产业周亮相,展示了一系列面向政府.智能制造.金融.交通.医疗.能源等领域的大数据和云计算服务. 河北省政府党组成员吴显国.廊坊市市委书记

【MDCC 2015】友盟数据平台负责人吴磊:移动大数据平台的架构与实践

转自: http://www.csdn.net/article/2015-10-20/2825962 [MDCC 2015]友盟数据平台负责人吴磊:移动大数据平台的架构与实践 [CSDN现场报道]10月14日-16日,“ 2015移动开发者大会 · 中国” (Mobile Developer Conference China 2015,简称MDCC 2015)在北京新云南皇冠假日酒店隆重举行.本次大会由全球最大中文IT社区CSDN和中国最具关注度的全方位创业平台创新工场联合主办,以“万物互 联,

蔡先生论道大数据之四, 中国公司和国外公司在大数据应用上的区别

国内互联网企业大数据的布局虽然略迟于国外,但从规模和投入上不容小觑.国内外在此领域的建设基本同步,体现在以下三个方面:第一,国外.国内大型互联网企业对大数据布局都加大投入规模,不仅是物理存储设备和处理能力的建设,也加强了分析工具的开发与分析人才队伍建设:第二,它们都在思考如何用足.用好大数据,期待从数据中挖掘潜在的巨大价值,使其为企业自身.用户和第三方带来便利与收益:第三,它们赋予大数据在数据之外的意义,都将大数据作为企业向其他领域延伸.转型的机会. 但是,限于国内外互联网发展水平.视野和其他产

大数据自动挖掘”才是现在这些大数据的真正意义

http://www.cognoschina.net/club/thread-66425-1-1.html  仅供参考 “大数据自动挖掘”才是现在这些大数据的真正意义 现在大数据火得不行,几乎人人都在说大数据,但到底什么是大数据,恐怕没有多少人知道,鱼目混珠的人太多. 大数据不是指很多很多数据. 所以不是存储了很多数据就是在搞大数据了,因为“大数据”只是个简称,说全一点应是“大数据挖掘”,没经过挖掘的大数据只是没有开采出来的原油,一点用处都没有. 大数据也不是指一般意义上的数据挖掘. 有很多人以

大数据企业架构师精品课程(大数据篇)

视频课程包含: 大数据企业架构师精品课程(大数据篇)包含01.hadoop100集全.02.大数据_HBase视频教程.03.大数据_Hive视频教程.04.大数据_Spark_视频教程.05.大数据_zookeeper视频教程.06.R语言速成实战.07.python等等! 2017最火的可能就数大数据了,这里给大家按照一定思路整理了全套大数据视频教程,涵盖大数据全部知识点. 本视频属于作者原创搜集整理!下载方式:翻阅到文章底部 总目录 01.hadoop100集全 02.大数据_HBase视