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

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

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

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

1. 大数据采集

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

Google Spider是一个程序,运行在全球各地的Google服务器之中,Spider们非常勤奋,日夜不停地工作。

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

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

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

2. 大数据预处理

Google Spider爬取的网页,无论是从格式还是结构等,都不统一,为了便于后续处理,需要先做一些处理,例如,在存储之前,先转码,使用统一的格式对网页进行编码,这些工作就是预处理。如果你对大数据开发感兴趣,想系统学习大数据的话,可以加入大数据技术学习交流扣扣群:522+数字189+数字307,欢迎添加,私信管理员,了解课程介绍,获取学习资源

3. 大数据存储

网页经过预处理后,就可以存储到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等,它们分别用于不同类型大数据的存储。

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

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

4. 大数据处理

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

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

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

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

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

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

大数据处理和前面大数据预处理,在技术上是相通的,只是所处阶段不同;

此处理环节是大数据开发阶段的一个必需的环节!

5. 大数据可视化

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

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

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

大数据开发的五个步骤相关推荐

  1. 成为一个大数据开发工程师的学习步骤--文字版

    本博客搬运自我知乎所出视频成为一个大数据开发工程师的学习步骤? - 知乎大数据的学习是有条件限制的,首先你需要是一名普通的工程师,如果你是Java工程师的话更好,但如果你是小-https://www. ...

  2. 开发步骤_大数据开发必备的通用步骤详解

    大数据的开发过程,如图1-1所示. 图 1-1大数据开发通用步骤图 上图只是一个简化后的步骤和流程,实际开发中,有的步骤可能不需要,有的还需要增加步骤,有的流程可能更复杂,因具体情况而定. 下面以Go ...

  3. 一幅长文细学华为MRS大数据开发(五)——MapReduce和Yarn

    5 MapReduce和Yarn 摘要:本文中主要讲述大数据领域中最著名的批处理和离线处理计算框架--MapReduce,包括MapReduce的原理.流程.使用场景,以及Hadoop集群中负责统一的 ...

  4. 成为一个大数据开发工程师的学习步骤?

    大数据的学习是有条件限制的,首先你需要是一名普通的工程师,如果你是Java工程师的话更好,但如果你是小白的话,那就只能成为一名工程师的后再来学习大数据. 一.认识大数据 大数据本质其实也是数据,不过也 ...

  5. 大数据开发笔记(五):Zookeeper

      ✨大数据开发笔记推荐: 大数据开发面试知识点总结_GoAI的博客-CSDN博客_大数据开发面试​本文详细介绍大数据hadoop生态圈各部分知识,包括不限于hdfs.yarn.mapreduce.h ...

  6. 【ADS层表-V1】前端页面所需的数据库设计——大数据开发实战项目(五)

    文章目录 前言 TiTan数据运营系统--数据库 表的具体设计 前言 如果你从本文中学习到丝毫知识,那么请您点点关注.点赞.评论和收藏 大家好,我是爱做梦的鱼,我是东北大学大数据实验班大三的小菜鸡,非 ...

  7. 小白如何学习大数据开发,大数据学习路线是怎样的?

    零基础的同学学习大数据开发不能急于求成,要分阶段分步骤来一步步完成,科多大数据给大家来分享一下大数据的学习路线是什么?小白该怎么学习大数据呢,大概可以分为四步: 大数据学习资料分享群142973723 ...

  8. 大数据开发技术课程报告(搭建Hadoop完全分布式集群操作集群)

    文章目录 大数据开发技术课程报告内容及要求 一. 项目简介和实验环境 二. 虚拟机的各项准备工作 三. 安装JDK并配置环境变量 四. 安装Hadoop并配置环境变量 五. 配置Hadoop完全分布式 ...

  9. 大数据 - 大数据开发技术课程总结(未完)

    1.课程介绍 大数据开发课程主要从了解大数据概念.特征开始,再介绍大数据Java开发和Hadoop的环境配置,较为全面地讲解了HDFS分布式存储,MapReduce分布式计算框架,Spark平台开发和 ...

最新文章

  1. qlabel 边加载边更新_普及一下什么是超窄边液晶拼接屏
  2. python怎么读文件后删去空格以行为单位进行排序-python 大文件以行为单位读取方式比对...
  3. 物理主机安装linux的方法
  4. JavaScript可否多线程? 深入理解JavaScript定时机制
  5. 五、“嵌段共聚醚酯型”易去污整理剂的结构特点及对织物服用性的影响?
  6. Java: 使用proxy连接URL
  7. 孙正义重申:计划在五年内将芯片设计公司Arm重新上市
  8. sql服务器时间不正确,使用更改 CPU 频率的实用工具或技术时,SQL Server 计时值可能不正确...
  9. 【GStreamer开发】GStreamer基础教程07——多线程和Pad的有效性
  10. 根据class显示或隐藏多个div
  11. 液晶手写板原理拆解_汽车抬头显示HUD的拆解
  12. python ghost.py使用笔记
  13. pymysql数据库使用教程_小白进阶之路,如何使用pymysql直连数据库?
  14. powerpoint ppt 点击放映后黑屏 解决办法
  15. PostgreSQL表增加一列或删除一列
  16. 前端 报培训班还是自学
  17. OHS 12C中导入第三方SSL证书
  18. python实现小游戏-猜年龄
  19. 企业招聘普遍年龄35岁以下,那全国人过40岁都干什么去了?
  20. 2017字节跳动前端工程师秋招笔试试题解析

热门文章

  1. 开发你自己的Android 授权管理器
  2. buuoj Pwn writeup 246-250
  3. 计算机文档添加书签,小学计算机——制作可以跳转的书签教案
  4. javaSwing+MySQL实现图书管理系统
  5. windowsserver2008r2可以装什么模拟器_装B冷知识 | 小孔镜为什么可以提高视力?
  6. html字体自动变大变小,浏览器上的字体突然变大了或者变小怎么恢复?
  7. 提示Microsoft office word 遇到问题需要关闭。还问是否发送错误报告。
  8. wps2016向程序发送命令_Excel:向程序发送命令时出现问题
  9. 2019.5.5 qq音乐数据源m4a抓取(新)
  10. 机器学习算法终极对比:树模型VS神经网络