大数据开发过程中的5个学习通用步骤

大数据的开发过程,如图1-1所示。

图 1-1大数据开发通用步骤图

上图只是一个简化后的步骤和流程,实际开发中,有的步骤可能不需要,有的还需要增加步骤,有的流程可能更复杂,因具体情况而定。

下面以Google搜索引擎为例,来说明以上步骤。

如果你想要学好大数据最好加入一个好的学习环境,可以来这个Q群529867072 这样大家学习的话就比较方便,还能够共同交流和分享资料

  1. 大数据采集

Google的数据来源于互联网上的网页,它们由Google Spider(蜘蛛、爬虫、机器人)来抓取,抓取的原理也很简单,就是模拟我们人的行为,来访问各个网页,然后保存网页内容。

Google Spider是一个程序,运行在全球各地的Google服务器之中,Spider们非常勤奋,日夜不停地工作。点击领取免费资料及课

2008年Google数据表明,它们每天都会访问大约200亿个网页,而在总量上,它们追踪着300亿个左右的独立URL链接。

可以说,只要是互联网上的网站,只要没有在robots.txt文件禁止Spider访问的话,其网页基本上都会在很短的时间内,被抓取到Google的服务器上。

全球的网页,这是典型的大数据。因此,Google Spider所做的就是典型的大数据采集工作。

  1. 大数据预处理

Google Spider爬取的网页,无论是从格式还是结构等,都不统一,为了便于后续处理,需要先做一些处理,例如,在存储之前,先转码,使用统一的格式对网页进行编码,这些工作就是预处理。

  1. 大数据存储

网页经过预处理后,就可以存储到Google的服务器上。

2008年,Google已经索引了全世界1万亿个网页,到2014年,这个数字变成了30万亿个。

为了减少开销,节约空间,Google将多个网页文件合并成一个大文件,文件大小通常在1GB以上。

这还是15年以前的数字,那时,主流台式机硬盘也就是60GB左右,1GB的文件在当时可以说是大文件了。

为了实现这些大文件高效、可靠、低成本存储,Google发明了一种构建在普通商业机器之上的分布式文件系统:Google File System,缩写为GFS,用来存储文件(又称之为非结构化数据)。

网页文件存储下来后,就可以对这些网页进行处理了,例如统计每个网页出现的单词以及次数,统计每个网页的外链等等。

这些被统计的信息,就成为了数据库表中的一个属性,每个网页最终就会成为数据库表中的一条或若干条记录。

由于Google存储的网页太多,30万亿个以上,因此,这个数据库表也是超级庞大的,传统的数据库,像Oracle等,根本无法处理这么大的数据,因此Google基于GFS,发明了一种存储海量结构化数据(数据库表)的分布式系统Bigtable。

上述两个系统(GFS和Bigtable)并未开源,Google仅通过文章的形式,描述了它们的设计思想。

所幸的是,基于Google的这些设计思想,时至今日,已经出现了不少开源海量数据分布式文件系统,如HDFS等,也出现了许多开源海量结构化数据的分布式存储系统,如HBase、Cassandra等,它们分别用于不同类型大数据的存储。

总之,如果采集过来的大数据需要存储,要先判断数据类型,再确定存储方案选型;

如果不需要存储(如有的流数据不需要存储,直接处理),则直接跳过此步骤,进行处理。

在这里还是要推荐下我自己建的大数据学习交流群:529867072,群里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据软件开发相关的),包括我自己整理的一份最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴加入。4. 大数据处理

网页存储后,就可以对存储的数据进行处理了,对于搜索引擎来说,主要有3步:

1)单词统计:统计网页中每个单词出现的次数;

2)倒排索引:统计每个单词所在的网页URL(Uniform Resource Locator统一资源定位符,俗称网页网址)以及次数;

3)计算网页级别:根据特定的排序算法,如PageRank,来计算每个网页的级别,越重要的网页,级别越高,以此决定网页在搜索返回结果中的排序位置。

例如,当用户在搜索框输入关键词“足球”后,搜索引擎会查找倒排索引表,得到“足球”这个关键词在哪些网页(URL)中出现,然后,根据这些网页的级别进行排序,将级别最高的网页排在最前面,返回给用户,这就是点击“搜索”后,看到的最终结果。

大数据处理时,往往需要从存储系统读取数据,处理完毕后,其结果也往往需要输出到存储。因此,大数据处理阶段和存储系统的交互非常频繁。

  1. 大数据可视化

大数据可视化是将数据以图形的方式展现出来,与纯粹的数字表示相比,图形方式更为直观,更容易发现数据之间的规律。

例如,Google Analytics是一个网站流量分析工具,它统计每个用户使用搜索引擎访问网站的数据,然后得到每个网站的流量信息,包括网站每天的访问次数,访问量最多的页面、用户的平均停留时间、回访率等,所有数据都以图形的方式,直观地显示出来,如图1-2所示

图1-2 Google网站访问量分析图

原文地址:https://blog.51cto.com/14296550/2389038

时间: 2024-11-06 02:28:36

大数据开发过程中的5个学习通用步骤的相关文章

【云杂谈】之四《大数据浪潮中,IT巨头和互联网新贵谁在裸泳?》

[云杂谈]之四<大数据浪潮中,IT巨头和互联网新贵谁在裸泳?> 摘要:在大数据浪潮中,许多公司都耐不住寂寞跳进海中冲浪.本文主要介绍不同类型的公司对大数据的理念和做法有哪些不同.IBM.Oracle等大IT巨头以及Google.Baidu等互联网新贵们对大数据商业策略上是有所不同的,以及他们选择这样策略的原因.然后,最终谁可能是在裸泳? 大数据的背景 关于大数据的说法很多,谈论最多的就是大数据的几个V.各大厂商对大数据的概念的阐述中,不管是4V(Volume.Velocity.Variety.

【原创】搜索引擎在大数据时代中的变革

现代的人类学习.生活.工作都已经离不开搜索引擎,如今的数据大爆炸时代,搜索引擎已经不仅是帮助用户从海量信息中找到结果,更是一种互联网服务.搜索引擎成为一个数据工厂,通过大数据挖掘,抽象结构化有价值的信息,加速信息流动,促使搜索为用户提供更多服务以及更高价值. 让用户对搜索结果进行筛选的时代很快就会被抛弃在时代的浪潮中,当前大数据时代研究最多的深度学习也是研究搜索引擎能够直接命中用户答案的途径之一,『所搜即所得』成为搜索引擎在大数据时代变革中的必然发展趋势. 除此之外,在大数据背景下,搜索引擎可以

没有基础可以学习大数据吗?0基础怎么学习大数据?给初学者支几招

小白如何学习大数据技术?大数据怎么入门?怎么做大数据分析?数据科学需要学习那些技术?大数据的应用前景等等问题,已成为热门大数据领域热门问题,以下是对新手如何学习大数据技术问题的解答~ 大数据开发学习可以按照以下内容进行学习 第一阶段:JavaSE+MySql+Linux 学习内容:Java 语言入门 → OOP 编程 → Java 常用Api.集合 → IO/NIO → Java 实 用技术 → Mysql 数据库 → 阶段项目实战 → Linux 基础 → shell 编程 学习目标:学习ja

大数据项目中的QA需要迎接新的挑战

大数据项目中的QA需要迎接新的挑战 根据IDC全球半年度大数据和分析支出指南的最新预测,到2022年全球大数据和业务分析解决方案的收入将达到2600亿美元.在大数据和业务分析解决方案上投资增长最快的行业包括银行(复合年增长率13.3%).医疗.保险.证券和投资服务.电信,每个行业复合年增长率都是12.8%.由此可见,大数据类项目在未来的地位将会越发重要,而作为QA,在大数据项目急速扩张的大背景下,也将迎来新的机遇和挑战. 一.大数据项目的数据特点 大数据项目与传统交付项目的不同之处在于其关注的重

大数据入门,到底要怎么学习大数据?

很多人都知道大数据很火,就业很好,薪资很高,想往大数据方向发展.但该学哪些技术,学习路线是什么样的呢? 其实就是想告诉你的大数据的三个发展方向,平台搭建/优化/运维/监控.大数据开发/设计/架构.数据分析/挖掘.请不要问我哪个好学,哪个钱多. 先说一下大数据的4V特征: 数据量大,TB->PB 数据类型繁多,结构化.非结构化文本.日志.视频.图片.地理位置等: 商业价值高,但是这种价值需要在海量数据之上,通过数据分析与机器学习更快速的挖掘出来: 处理时效性高,海量数据的处理需求不再局限在离线计算

大数据应用中如何进行技术选型?

大数据应用中如何进行技术选型?影响选型有两个主要指标:性能,容量1.能够支持高并发下的请求的快速响应能力2.能够支持大存储和大检索3.要能够保证服务和存储的高可用 初期会进行多个同类型的技术进行对比和调研 Q::如何进行最终的定型?A:分析当前的业务,结合压测(而不是空洞的去想和纠结)来决定定型: 原文地址:https://www.cnblogs.com/big1987/p/10541696.html

如何解决大数据计算中常见的数据倾斜问题?

数据倾斜是在大数据计算中常见的问题,用最通俗易懂的话来说,数据倾斜无非就是大量的相同key被partition分配到一个分区里,造成了'一个人累死,其他人闲死'的情况,这种情况是我们不能接受的,这也违背了并行计算的初衷,首先一个节点要承受着巨大的压力,而其他节点计算完毕后要一直等待这个忙碌的节点,也拖累了整体的计算时间,可以说效率是十分低下的.以下针对spark具体计算场景,给出数据倾斜解决方案:场 景当RDD执行reduceByKey等聚合类shuffle算子或者在Spark SQL中使用gr

一起来学大数据——走进Linux之门,学习大数据的重中之重

昨天我们看了有关大数据Hadoop的一些知识点,但是要在学习大数据之前,我们还是要为大数据的环境做一些的部署. 那么,今天我们就来讲讲开启我们大数据之路的Linux,跟上我们的脚步yo~ Linux介绍 Linux是我们当前各大系统中一种自由和开源的OS,虽然市面上有各种各样的版本,但是他们拥有同一个内核.我们在这个内核上面,自己添加一些程序后,就是我们之后称之的开发版本. 其中包括了两大阵营,它们分别是:Redhat系列和Debian系列.我们看到的红帽,centos就是第一个阵营的,而ubu

大数据难学吗?如何学习大数据?(附学习路线)

因为大数据前景好,薪资高,很多人想通过参加学习大数据,然后进入大数据行业发展.但是因为大数据的门槛较高,对于学习人员有一定的要求,那么学习大数据需要什么基础知识呢?大家一起来了解下对于大数据学习者本身的学历水平的要求.目前大多数的机构,对于大数据学习者要求必须是大专学历以上,而且大专学历还要求是理工科相关专业的,如果是本科及本科以上的,则对专业要求适当的放宽.同时大数据分为两大方向:大数据开发和数据分析.这两大方向的对于基础知识的要求不同,数据分析偏向应用层面,对于编程要求不高,相较而言对于基础