碎碎念
最近一直在思考作为测试工程师,如何以大数据为方向,提升自己的知识储备,适应接下来的市场需求,于是看了很多大数据相关的前辈们的文章,加上自己的理解,竟然觉着大数据工作处理流程,就好像我们在煮饭!
希望可以提供给同样迷茫的大家一个学习规划方向!

生米煮成熟饭

其实呢,大数据的工作流程概括来看就是:数据收集->数据存储->数据分析->数据应用,以及这个过程中我们所需要用到的框架或者工具。

那现在我们可以想象一下,这个流程像不像我们日常煮饭饭呢,生米煮成熟饭的过程需要以下几步:
1)买米:选择不同种类的米,例如:杂粮米、大米、小米-----数据收集
2)储藏米:将不同种类的米存放在不同的米罐中----------------数据存储
3)淘米:在煮饭前需要淘米,洗米,做准备工作----------------数据预处理
4)煮饭加工:将生米最终煮成熟饭----------------------------------数据应用


那接下来我们分别来看下这几个过程中,衍生了什么大数据相关的技术呢!

数据收集(买米)

就好像我们不同的人对米的需求不同,有些人喜欢吃白米饭,有些人呢喜欢吃杂粮饭,那我们就要去不同的区域选购。
数据收集也是一样的道理, 就拿我们最常见的采集日志信息的需求来说吧,我们要对分布式部署的项目,在不影响项目正常运作的前提下进行日志数据采集,基于类似这样的需求呢,就诞生了日志收集工具【Flume】、【Logstash】、【Kibana】通过简单的配置对复杂的数据进行数据收集和数据聚合。

数据存储(储藏米)

就好像我们在超市中买了不同种类的米,需要将他们存储在不同的米罐中,方便我们找到它们,并满足不同人的需求,做成不同人想吃的饭饭。
数据存储呢,我们首先都会想到的就是关系型数据库吧,Mysql、Oracle,它们能够存储结构化的数据,并支持随机访问,但实际呢,数据的划分不仅仅是只有【结构化数据】,还有【半结构化数据】,就比如我们上面提到的日志数据,以及【非结构化数据】,比如图片、文本数据等,所以为了存储海量的半结构化数据、非结构化数据,诞生了【HDFS】、【GFS】分布式文件存储系统。
但是以上分布式文件存储系统仅仅是能支持不同类型数据的存储,并不能进行随机的访问,这样很不友好,于是就诞生了【Hbase】、【MogoDB】,它们不仅继承关系型数据库随机访问快的优点,还可以存储海量非结构化数据。

数据处理(淘米)

买米、分类只是做饭的第一步,最重要的第二步,就是淘米啦,这样才能做出最后香喷喷的饭呐~
大数据工作流中,也会对数据进行预处理,预先对数据进行ETL(清洗、转换、加载),针对不同的应用场景分为【批处理】和【流处理】。

  • 批处理:对离线数据进行处理,例如我们想要过去一年的某APPuv、pv,此时对数据的时效性要求不高,于是就诞生了以下处理框架【Hadoop MapReduce】、【Spark】、【Flink】等
  • 流处理:对实时数据进行处理,例如目前:电商运营数据分析、股票数据分析等需求,这样的需求对数据的时效性要求极高,于是就诞生了以下处理框架【Storm】、【Spark Streaming】、【Flink Streaming】等
    听着是不是很高大上呢,但是以上的相关技术对于专业的大数据研发同学来说可能是洒洒水,小菜一碟,但是对于我们作为测试或者作为数据相关行业的从业者,例如数据分析师,为了适应这样的需求呢,诞生了【Hive】、【Spark SQL】、【Flink SQL】、【Pig】、【Phoenix】等框架。这些查询框架支持我们使用标准sql或者类sql进行数据查询与分析。

数据应用(煮饭加工)

经历了以上一系列的流程,我们经过加工,饭终于要热乎乎的出锅啦!
而对于大数据工作流程来说呢,其实也是一样的,那些乱七八糟的数据,经过加工后,最终变成我们想要的产品,比如目前比较火的:短视频个性化推荐、电商商品推荐、头条新闻推荐,以及可以使用这些数据去训练机器学习模型,或者供数据分析师进行数据分析运营等等。

其他框架

以上呢只是对大数据的基本工作流程,以及我的奇思妙想,列出的相关技术框架,但实际大数据流程如果真的有这么简单,那么我们人人都是优秀的大数据研发啦,那么根据它复杂的工作流程以及各类问题又衍生了各类框架:

  • 想要保证集群高可用的需求,衍生出 【ZooKeeper】 ,ZooKeeper是最常用的分布式协调服务,它能够解决大多数集群问题,包括首领选举、失败恢复、元数据存储及其一致性保证。
  • 同时针对集群资源管理的需求,又衍生了 【Hadoop YARN】;
  • 大数据流处理中使用的比较多的另外一个框架是【Kafka】,它可以用于消峰,避免在秒杀等场景下并发数据对流处理程序造成冲击;
  • 数据迁移常用到的另一个框架是 【Sqoop】,它能够通过简单的命令将关系型数据库中的数据导入到 HDFS 、Hive 或 HBase 中,或者从 HDFS 、Hive导出到关系型数据库上。
  • 大数据框架都是采用集群模式进行部署,为了更方便的进行集群的部署、监控和管理,衍生了 【Ambari】、【Cloudera Manager】 等集群管理工具;

注:以上言论只是最近读的一些大数据相关文章的总结,可能有说的不正确的地方,毕竟小弟也是初来乍到,还在迷路中寻找方向,最后感谢提供给我梳理思路的前辈大佬们,以及百度收集到的两张杠杠优秀的图片!

原来大数据工作流程可以这样理解------生米煮成熟饭!相关推荐

  1. 根据我的经验如何进行数据科学,人工智能或大数据工作

    by Richard Freeman, PhD 理查德·弗里曼(Richard Freeman)博士 根据我的经验如何进行数据科学,人工智能或大数据工作 (How to work in Data Sc ...

  2. 大数据工作的正确打开姿势

    最近跟一家著名互联网企业的首席架构师讨论起了数据的话题,得知其正为数据迅速膨胀却无法很快产生价值而发愁.我开玩笑说;"您这是饱汉子不知道饿汉子饥,我们想数据都想疯了".其回复:&q ...

  3. java 怎么获取object的数据_自学java,想将来从事大数据工作,现实吗?怎么学?...

    自学java,想将来从事大数据工作,怎么学? 我是大一通信工程的一名学生,我们学习的是C,但我将来想从事大数据开发的工作,我想向各位大佬请教一下,像我这种情况,自学java然后去从事大数据工作是不是不 ...

  4. 大数据分析工作流程是什么

    大数据分析工作流程是什么?高效的工作流应该做到这一点-流程化-将我们从项目的每个阶段无缝地引导到下一个阶段,优化任务管理,并最终指导我们从业务问题到解决方案再到价值.随着数据泛滥的持续减少,企业正在淹 ...

  5. 从事大数据工作的朋友 你拥有几个大数据证书?

    随着大数据的兴起与应用,数据科学家和数据分析师,以及具有大数据技术工作能力的工程师和开发人员得到了青睐,并获得良好的回报. 怎样证明你的大数据实力?大数据证书最直接! 大讲台老师整理出现今流行的16个 ...

  6. 大数据建模流程之任务分析

    上一篇文章我们简单阐述了,大多数研究者在进行大数据分析时,所存在的逻辑问题,并简明扼要的对大数据建模流程进行了说明,那么为了使大家更加清晰每一个步骤的具体内容,我们将每一个模块展开分析.详细阐述流程中 ...

  7. python运用在大数据中精准生活_在大数据中精准生活阅读理解答案

    在大数据中精准生活阅读理解答案 ①万物皆互联,无处不计算.因为互联网.手机.无线传感器的普及,实时监测.远程协作.SOHO工作.数据管理已成为平常之事,信息像水电一样通过网络供应汩汩传输,计算机上有形 ...

  8. 大数据架构系列:如何理解湖仓一体?

    导语 | 本文推选自腾讯云开发者社区-[技思广益 · 腾讯技术人原创集]专栏.该专栏是腾讯云开发者社区为腾讯技术人与广泛开发者打造的分享交流窗口.栏目邀约腾讯技术人分享原创的技术积淀,与广泛开发者互启 ...

  9. 3000字梳理大数据开发流程及规范(建议收藏)

    在大数据时代,规范地进行数据资产管理已成为推动互联网.大数据.人工智能和实体经济深度融合的必要条件.贴近业务属性.兼顾研发各阶段要点的研发规范,可以切实提高研发效率,保障数据研发工作有条不紊地运作.而 ...

最新文章

  1. 叛乱怎么自定义服务器,» 叛乱:沙漠风暴 服务器安装Mod教程
  2. java学习笔记3--类与对象的基础
  3. 计算机网络学习--交换机和路由器转发数据原理
  4. linux作业(第四章练习题)
  5. DropDownList的用法
  6. Php xml 目录,PHP-PHP+xml的无限分类树目录的方法?
  7. python安装pyqt4_windows下安装PyQt4
  8. python 数据结构转换层_python – 具有Maxpooling1D和channel_first的Keras模型
  9. 拓端tecdat|R语言中敏感性和特异性、召回率和精确度作为选型标准的华夫图案例
  10. 程序员的恶性循环:加班-没空学习-老是写同等水平代码-无法提升代码质量-老是出BUG-老是需要修改-加班-......
  11. Linq的Distinct太不给力了
  12. cad放大_最新CAD软件插件大全+上千款字体,内附使用教程,只分享3天
  13. 用 Python 写个消消乐小游戏
  14. 代码检查技术Checkstyle与p3c调研
  15. virtualbox 实现虚拟机和宿主机互通
  16. 微信小程序+云开发+数据库使用
  17. Matlab数字图像处理——图像文件的读取
  18. idea创建Maven工程后提示Maven projects need to be imported
  19. 土地利用转移矩阵分析与制图(以沮漳河流域为例)
  20. JS逆向加密——美团店铺详情_token参数

热门文章

  1. html自适应meta标签,seo常用meta标签:自适应网站设计对百度友好的关键
  2. configfile
  3. Codeforces 1492D - Genius‘s Gambit (构造)
  4. 报错“FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disa”
  5. 公众号榜单 | 2020·5月公众号地区排行榜重磅发布
  6. 鲁大师PC最新硬件排行,汇总Q1季度最强PC硬件产品!
  7. 十大项目告诉你:室内定位将是重塑零售世界的下一场革命
  8. protel99中为什么有的区域铺不上铜?
  9. 【新手入门Python必看】1000+常用Python库一览
  10. WordPress 衍生产品 BuddyPress 年底发布