零基础入门大数据之开篇概述

学而不思则罔 思而不学则殆
Background:
        本不想起这么一个带有迷惑性的题目,后来也没想出来什么有特色的题目来记录,索性就随它去了。博主以前做Java web方向的开发, 日常的工作就是增删改查(简单的增删改查)和一些不太可控的接口调用之中度过,毕业一年日子一天天过去,技术上有所求,但工作中的东西不能带给我新的知识和技能,所以在蛰伏一段时间之后选择了转行,原本不想跨度太大,做做大数据应用层面的开发,最后阴差阳错去做底层平台的开发,有庆幸但也有压力,庆幸的是可以做更加底层的工作,压力是越是底层的东西难度自然不低,对英语的要求也比较高,能够熟读官方文档意味着你能了解第一手的资料,是没有经过别人咀嚼过的,诚然有一些博主能够写出优秀的文章出来,但是网上大部分还是充斥着照搬照抄的文章,句子读起来晦涩难懂,语义不明。 题外话暂扯到这里,下面开始正题。

        说到这,引出我们的第一个主题Hadoop。Hadoop官网介绍其是一个分布式计算软件,是一个框架, 一个能够使用简单的编程模型对大数据集进行跨集群的分布式计算框架,具有可靠,易扩展的特点。

        上面这段话我们主要关注这两点{大数据集, 分布式计算},这两个特点道出了Hadoop最开始的样子, 分别是具有分布式存储大数据能力的HDFS和分布式计算的Mapreduce。至于后来庞大的Hadoop生态都是慢慢的从基础上面发展来的,一些是功能的补充,一些是优化,还有一些直接抽离某个能力作为一个组件。

        大数据就是大量的数据,海量的数据,海量的数据不可避免的带来了一些问题,存储首当其冲,面对海量的数据存储是个大问题,虽然现在的存储介质相对于以前便宜了不少,但是企业对于存储如此庞大的数据(PB级)仍然需要花费巨额的硬件成本来保存,而且不一定能够满足要求,目前关系型数据库很难进行水平扩展(这里的很难不是指扩容一两个节点,诚然少量的水平扩展还是能够做到的),即使如此数据库本身也没有提供很好的容错备份机制(相对于hdfs而言(hbase是依赖于hdfs的,不绝对,换成普通的文件系统也是可以的))。

        还有一个问题就是数据的计算,我们以前编写的程序大抵都可以类比成这样一个场景, 程序员小王写了一个计算程序A, 程序A会将数据库里面的数据通过各种方式获取到自己所在的机器然后进行计算,这是一种集中式的计算方式,数据跟着计算走,在数据量小的情况下这没有什么问题,你可以很容易的通过sql语句获取几条你想要的数据,但是如果这个数据量在PB级的时候,问题就没那么简单了,先不说你的数据库和服务器能不能支持这么大数据量的存储,首先这个查找的过程必定是缓慢的。MapReduce的思想是计算跟着数据走,因为你写的计算程序在这种数量级下就显得很小了。

        此篇作为开篇就不细究一些细节上的东西,作为一个引子,希望给想要入门大数据的人一点指导。有些东西是经过自己的思考变通过的,但也不影响学习。

        后续文章打算先从最底层的HDFS开始,再到MapReduce,Yarn,及其生态中外围相关的一些组件,一一展开,主要还是看自己平时工作时的任务,负责哪个组件的时候可能就需要去学习一波,然后解决一些线上的大数据平台问题之后对整个组件有了自己的认知和感悟之后再分享出来。

路漫漫其修远兮 吾将上下而求索

修订记录:2020/5/12 首次编写

你可能感兴趣的:(Hadop)