第一次写博客,这么历史性的时刻当然要记录下。把我这时的情况和心态记录下来,以后回来看会不会很有意思呢?博客是啥,其实我也不知道自己认为的对不对,我就觉得博客可以看成上课记得笔记,把有用的知识点记在里面方便查看,有时上课小差在笔记本上涂个鸦啥的也行吧,当然笔记本是可以外借的,这就像是我以前遇到问题了去博客上找答案一样。
我 宁波一所普通三本院校毕业,宅男一枚,当然交际能力不强,为了生活总要有个能谋生的手艺,在高考时选择了计算机专业,其实自己是个随便的人,随便的高考,随便的志愿,随便的环境,根本没有考虑我的专业在大学城市里有没有前途。在学校里嘛,你懂的,开心就好嘛,增长的只有体重,不过我也不是没有做准备。在大一决定了要做软件开发的行业所以对自己有用的专业知识课也是有好好学的。当决定以后要做JAVA方向后,课外自己也报了网上培训班学习,一心想着毕业后能用学习的知识找个好工作。真到了快毕业的时候找来找去也没有找到一个特别满意的工作,工作是有,但总感觉缺了点什么,干活也没有动力,可能是工资没有达到预期的原因吧。做技术的要涨工资应该怎么办呢?提高自己,但在java方面,我感觉自己资质有限只能慢慢熬工作年限,这并不是我想要的,那么学习一门新的技术可能能够改变自己,即使不能也能增长自己知识储备。所以我决定学习大数据来改变下未来,我学习的是hadoop相关的知识,它刚好是以java为基础的,于我原来的路并没有相悖,可以相辅相成。
那么接下来就开始做笔记了,现在什么人工智能,云计算,大数据经常能听到,这说明啥,说明这技术未来也是有用的,有搞头的,方向还是很重要的嘛。那么今天先来说书大数据是什么以及大数据要学些啥。
什么是大数据
首先从字面意思上来看大数据就是量很大的数据,这是没错,但光光量大并没有什么用,一条相同的数据即使量再大也不能获得很多信息。所以IBM给出了关于大数据5V的定义:1.Volume(大量)2.Velocity(高速)3.Variety(多样)4.Value(价值)5.Veracity(真实性),合起来即大数据=海量且高速增长的多样化的有价值的真实数据。与传统的数据库中的数据相比,这些数据如果要发挥他们的作用有两个问题,1.如何存储这些数据。2.如何快速对这些数据进行计算从中获得需要的信息。这两个问题的解决方法就是我们需要学习的大数据知识。
数据仓库
大数据的处理过程可以看成是获取数据->存储数据->处理数据->处理结果保存,这些步骤可以由一个名词来概括-数据仓库,Hadoop可以看成是数据仓库的一种实现形式,所以我们先要学习Hadoop。
Hadoop
Hadoop的思想来源于Googel的三篇论文:GFS(GooGel的文件系统),MapReduce(计算模型,处理大数据),BigTable(大表即非关系型数据库)分别对应Hadoop的:HDFS(hadoopdistributed file system)hadoop分布式文件系统,Yarn(MapReduce运行平台,hadoop2后才有的),HBase(非关系型数据库)他们的结构都是主从机构。HDFS(主-NameNode,从-DataNode,管理日志与元信息的-SecondAryNameNode)Yarn(主-ResourceManager,从-NodeManager)HBase(主-HMaster,从-RegionServer)。
数据采集工具
数据采集用的一般有两种工具Sqoop和Flume,Sqoop一般用于采集关系型数据库上的数据,Flume主要用于采集日志数据。
数据保存工具
这些采集来的数据可以保存存在HDFS上也可以保存在非关系数据库上,常用的非关系数据库HBase,Redis,MongoDB,Cassandra。
数据分析工具
然后是数据的分析计算,可以用MapReduce处理数据,也可以用Hive和Pig直接对数据进行数据分析,除了这种调用式的分析还有用Storm实现的实时计算。
管理工具
然后有这么多的东西,应该要怎么管理他们呢,可以使用一个HUE的工具,它是一个基于Web的图形工具。
保证稳定的工具
大数据往往伴随着分布式,那么就要考虑的高可用性和失败迁移,hadoop中使用ZooKeeper来实现高可用性。
以上这些就是学习大数据需要学习的只是点了,这里先列一个大纲,具体的内容留待下文。