北京IT培训分享一位大神的学习JAVA心路历程

北京IT培训分享一位大神的学习JAVA心路历程,第1张

大数据技术发展史:大数据的前世今生

今天我们常说的大数据技术,其实起源于Google在2004年前后发表的三篇论文,也就是我们经常听到的“三驾马车”,分别是分布式文件系统GFS、大数据分布式计算框架MapReduce和NoSQL数据库系统BigTable。

你知道,搜索引擎主要就做两件事情,一个是网页抓取,一个是索引构建,而在这个过程中,有大量的数据需要存储和计算。这“三驾马车”其实就是用来解决这个问题的,你从介绍中也能看出来,一个文件系统、一个计算框架、一个数据库系统。

现在你听到分布式、大数据之类的词,肯定一点儿也不陌生。但你要知道,在2004年那会儿,整个互联网还处于懵懂时代,Google发布的论文实在是让业界为之一振,大家恍然大悟,原来还可以这么玩。

因为那个时间段,大多数公司的关注点其实还是聚焦在单机上,在思考如何提升单机的性能,寻找更贵更好的服务器。而Google的思路是部署一个大规模的服务器集群,通过分布式的方式将海量数据存储在这个集群上,然后利用集群上的所有机器进行数据计算。 这样,Google其实不需要买很多很贵的服务器,它只要把这些普通的机器组织到一起,就非常厉害了。

当时的天才程序员,也是Lucene开源项目的创始人Doug Cutting正在开发开源搜索引擎Nutch,阅读了Google的论文后,他非常兴奋,紧接着就根据论文原理初步实现了类似GFS和MapReduce的功能。

两年后的2006年,Doug Cutting将这些大数据相关的功能从Nutch中分离了出来,然后启动了一个独立的项目专门开发维护大数据技术,这就是后来赫赫有名的Hadoop,主要包括Hadoop分布式文件系统HDFS和大数据计算引擎MapReduce。

当我们回顾软件开发的历史,包括我们自己开发的软件,你会发现,有的软件在开发出来以后无人问津或者寥寥数人使用,这样的软件其实在所有开发出来的软件中占大多数。而有的软件则可能会开创一个行业,每年创造数百亿美元的价值,创造百万计的就业岗位,这些软件曾经是Windows、Linux、Java,而现在这个名单要加上Hadoop的名字。

如果有时间,你可以简单浏览下Hadoop的代码,这个纯用Java编写的软件其实并没有什么高深的技术难点,使用的也都是一些最基础的编程技巧,也没有什么出奇之处,但是它却给社会带来巨大的影响,甚至带动一场深刻的科技革命,推动了人工智能的发展与进步。

我觉得,我们在做软件开发的时候,也可以多思考一下,我们所开发软件的价值点在哪里?真正需要使用软件实现价值的地方在哪里?你应该关注业务、理解业务,有价值导向,用自己的技术为公司创造真正的价值,进而实现自己的人生价值。而不是整天埋头在需求说明文档里,做一个没有思考的代码机器人。

Hadoop发布之后,Yahoo很快就用了起来。大概又过了一年到了2007年,百度和阿里巴巴也开始使用Hadoop进行大数据存储与计算。

2008年,Hadoop正式成为Apache的顶级项目,后来Doug Cutting本人也成为了Apache基金会的主席。自此,Hadoop作为软件开发领域的一颗明星冉冉升起。

同年,专门运营Hadoop的商业公司Cloudera成立,Hadoop得到进一步的商业支持。

这个时候,Yahoo的一些人觉得用MapReduce进行大数据编程太麻烦了,于是便开发了Pig。Pig是一种脚本语言,使用类SQL的语法,开发者可以用Pig脚本描述要对大数据集上进行的 *** 作,Pig经过编译后会生成MapReduce程序,然后在Hadoop上运行。

编写Pig脚本虽然比直接MapReduce编程容易,但是依然需要学习新的脚本语法。于是Facebook又发布了Hive。Hive支持使用SQL语法来进行大数据计算,比如说你可以写个Select语句进行数据查询,然后Hive会把SQL语句转化成MapReduce的计算程序。

这样,熟悉数据库的数据分析师和工程师便可以无门槛地使用大数据进行数据分析和处理了。Hive出现后极大程度地降低了Hadoop的使用难度,迅速得到开发者和企业的追捧。据说,2011年的时候,Facebook大数据平台上运行的作业90%都来源于Hive。

随后,众多Hadoop周边产品开始出现,大数据生态体系逐渐形成,其中包括:专门将关系数据库中的数据导入导出到Hadoop平台的Sqoop;针对大规模日志进行分布式收集、聚合和传输的Flume;MapReduce工作流调度引擎Oozie等。

在Hadoop早期,MapReduce既是一个执行引擎,又是一个资源调度框架,服务器集群的资源调度管理由MapReduce自己完成。但是这样不利于资源复用,也使得MapReduce非常臃肿。于是一个新项目启动了,将MapReduce执行引擎和资源调度分离开来,这就是Yarn。2012年,Yarn成为一个独立的项目开始运营,随后被各类大数据产品支持,成为大数据平台上最主流的资源调度系统。

同样是在2012年,UC伯克利AMP实验室(Algorithms、Machine和People的缩写)开发的Spark开始崭露头角。当时AMP实验室的马铁博士发现使用MapReduce进行机器学习计算的时候性能非常差,因为机器学习算法通常需要进行很多次的迭代计算,而MapReduce每执行一次Map和Reduce计算都需要重新启动一次作业,带来大量的无谓消耗。还有一点就是MapReduce主要使用磁盘作为存储介质,而2012年的时候,内存已经突破容量和成本限制,成为数据运行过程中主要的存储介质。Spark一经推出,立即受到业界的追捧,并逐步替代MapReduce在企业应用中的地位。

一般说来,像MapReduce、Spark这类计算框架处理的业务场景都被称作批处理计算,因为它们通常针对以“天”为单位产生的数据进行一次计算,然后得到需要的结果,这中间计算需要花费的时间大概是几十分钟甚至更长的时间。因为计算的数据是非在线得到的实时数据,而是历史数据,所以这类计算也被称为大数据离线计算。

而在大数据领域,还有另外一类应用场景,它们需要对实时产生的大量数据进行即时计算,比如对于遍布城市的监控摄像头进行人脸识别和嫌犯追踪。这类计算称为大数据流计算,相应地,有Storm、Flink、Spark Streaming等流计算框架来满足此类大数据应用的场景。 流式计算要处理的数据是实时在线产生的数据,所以这类计算也被称为大数据实时计算。

在典型的大数据的业务场景下,数据业务最通用的做法是,采用批处理的技术处理历史全量数据,采用流式计算处理实时新增数据。而像Flink这样的计算引擎,可以同时支持流式计算和批处理计算。

除了大数据批处理和流处理,NoSQL系统处理的主要也是大规模海量数据的存储与访问,所以也被归为大数据技术。 NoSQL曾经在2011年左右非常火爆,涌现出HBase、Cassandra等许多优秀的产品,其中HBase是从Hadoop中分离出来的、基于HDFS的NoSQL系统。

我们回顾软件发展的历史会发现,差不多类似功能的软件,它们出现的时间都非常接近,比如Linux和Windows都是在90年代初出现,Java开发中的各类MVC框架也基本都是同期出现,Android和iOS也是前脚后脚问世。2011年前后,各种NoSQL数据库也是层出不群,我也是在那个时候参与开发了阿里巴巴自己的NoSQL系统。

事物发展有自己的潮流和规律,当你身处潮流之中的时候,要紧紧抓住潮流的机会,想办法脱颖而出,即使没有成功,也会更加洞悉时代的脉搏,收获珍贵的知识和经验。而如果潮流已经退去,这个时候再去往这个方向上努力,只会收获迷茫与压抑,对时代、对自己都没有什么帮助。

但是时代的浪潮犹如海滩上的浪花,总是一浪接着一浪,只要你站在海边,身处这个行业之中,下一个浪潮很快又会到来。你需要敏感而又深刻地去观察,略去那些浮躁的泡沫,抓住真正潮流的机会,奋力一搏,不管成败,都不会遗憾。

正所谓在历史前进的逻辑中前进,在时代发展的潮流中发展。通俗的说,就是要在风口中飞翔。

上面我讲的这些基本上都可以归类为大数据引擎或者大数据框架。而大数据处理的主要应用场景包括数据分析、数据挖掘与机器学习。数据分析主要使用Hive、Spark SQL等SQL引擎完成;数据挖掘与机器学习则有专门的机器学习框架TensorFlow、Mahout以及MLlib等,内置了主要的机器学习和数据挖掘算法。

此外,大数据要存入分布式文件系统(HDFS),要有序调度MapReduce和Spark作业执行,并能把执行结果写入到各个应用系统的数据库中,还需要有一个大数据平台整合所有这些大数据组件和企业应用系统。

图中的所有这些框架、平台以及相关的算法共同构成了大数据的技术体系,我将会在专栏后面逐个分析,帮你能够对大数据技术原理和应用算法构建起完整的知识体系,进可以专职从事大数据开发,退可以在自己的应用开发中更好地和大数据集成,掌控自己的项目。

希望对您有所帮助!~

1995年

4月,留美学人马云创办国内第一家中文商业信息站点“中国黄页”,发布了一批互联网主页,在大陆开始普及网络知识和应用。

1996年

8月19日,《计算机世界》发表“Internet上的广告现状”一文;

11月,迈至科公司用WebtrendsLogAnalyzer30为自己的虚拟主机客户,提供用户统计报告。

12月8日,中国广告协会与北京燕兴广告公司开始共建“中国广告商情网”。

1997年

1月,“中国通环球信息网”(北京视角广告艺术有限公司承办),开始网络广告代理业务,提出在Internet上“我们垫钱为您做广告”;

3月,Chinabyte嬴得了第一笔广告收入,IBM为AS400的宣传付了3,000美元;

4月,Chinabyte由国际权威的媒体监测机构ACNielsen旗下的专业公司实行站点访问流量的第三方审计,迈出与国际接轨的第一步;

5月,中国在线开始推出“网上有名”栏目,向“榜上有名”叫板;

5月,任向晖自费在上海“都市广告手册”推出“网络广告先锋”网站一代;

6月16日,“友邦中国联合信息网”,在30家站点做Banner广告;

6月,四达广告艺术术公司买断讯业金网北京营运公司讯合科技公司所有IT类广告,上演电脑时代”网络版;

7月14日-23日,英特尔技术发展有限公司举办“网上夺标,莫失良‘机’”活动,在多家网站打Banner广告。

12月2日,北方国联信息技术有限公司开通“广告情报站”,将网络列入广告媒体栏目中,向广告业全面倡导网络广告概念。

1998年

3月16日,《中国计算机报》刊登“1997年京城网上广告点评”一文,明确提出“应组织ISP和广告公司共同研讨国外广告商业运作情况,得出适合我国国情的解决方案;最后,建立标准,积极与国际通用做法接轨;

4月,Zdnet成为中国大陆首家Intel认证的“优化内容”站点,得到英特尔公司认可的信息产品生产商可在获得英特尔“优化内容认证”的网站上做广告,可得到高额费用返还;

5月28日,中国指南联合Doublebyte,共建TDBN(DoubleByte中国优秀站点联盟),瑞得在线、天府热线、广州视窗、中经网、中国计算机报网站、中国日报已在候选之列;

6月,Srsnet(现在的新浪)成为中国大陆第二家(非传统媒体第一家)Intel认证的“优化内容”站点;

7月国中网宣布“98世界杯网站”获得200万元广告收入,16日,春风得意的“国中网”(cwwcom)趁热打铁,在京举行“网上广告研讨会”,会上企业代表今日新概念租车公司和北大方正的市场负责人都对网上广告谈了看法,并对网上广告予以肯定。灵狮广告公司介绍了目前广告公司对互联网的认识以及对网上网上广告的评价;

7月23-25日,Chinabyte举办了“网络广告,现在就是未来--1998Chinabyte网络培训”;

8月7日,中国互联网信息中心与爱特信搜狐公司联合在北京国际饭店举办了“搜狐(SOHU)站点访问统计”新闻发布会。中国互联网络信息中心在会上公布了对SOHU网站访客流量的统计报告,并向爱特信搜狐公司颁发了访客流量的认证证书;

9月,金山公司举办金山词霸IIIBanner设计大赛;

10月9日,上海的HyperAsia超亚广告网络公司在京举办了“INTEL公司关于网络广告的研讨会”;

10月,王靖韬在“中国广告商情网”推出“网络广告”频道,致力商机、流程、配套服务的宣传;

11月10日,在“国中网第三届年会暨Internet产业发展研讨会”上,中国国际传讯有限公司(chinacom)与247MediaInc宣布合作在亚洲地区推出的247Media-亚洲网络>

最近有好多小伙伴向我咨询:“如何学习JAVA”,其实这个问题太宽泛了,好像每个人在一开始接触java的时候都会请教这个问题。本人对这个问题有很深的体悟和感慨,一开始想要自学,结果不够自律,后来选择了一家培训机构进行学习。今天,北京IT培训想要在这里分享我的心路历程。

一.明确自己学习的原因

1问问自己是抱着什么目的要学习Java,没有目标的学习是效率极低的,并且容易半途而废;

2了解Java可以做什么,Java可以从事的岗位以及软件行业的发展情况;

3自己是否对Java方向感兴趣;

二.学习Java基础

1学习准备

推荐看视频入门,可以通过某宝以及某鱼购买相关的视频,别挑三拣四,选中一个视频看完再说,对于初学者,无论选哪一个都是值得你学习的。

有人说编辑器等IDE环境不适合看视频,浪费时间,但是初学者在学习第一个编程IDE时,推荐看视频或者通过搜索引擎了解工具的使用,看书其实在刚开始可能更浪费时间;

看完基础视频对知识有个大概的了解,这时候看书就不会一头雾水,此时可以通过看书来深入学习,之后的学习可以自己选择看书还是看视频,最好的方法是花时间既看视频也看书;

学着学着忘掉前面的别总想着回头记住,先往后学,有些基础知识暂时用不上,当你学到应用的知识时自然会慢慢理解;

2书籍推荐

入门书籍:《HeadFirstJava》、《Java核心技术》

进阶书籍:《Java编程思想》

三.JavaWeb

1学习路线

学习完Java基础,接着适合学习JavaWeb,这个推荐看视频,学习数据库和JDBC基础知识以及基本的前端知识,然后学习SSM框架,学习路线为:

Mysql->JDBC->HTML、CSS、JavaScript、JSP->Spring->SpringMVC->Mybatis->SSM整合->SSM项目实战

2书籍推荐

《深入分析javaweb技术内幕》

《架构探险-从零开始写javaweb框架》

并发编程

《Java并发编程的艺术》

设计模式

《HeadFirst设计模式》

JVM

《深入理解Java虚拟机》

要想超越别人,不仅仅要掌握实战技能,更重要的是基础扎实

以上就是关于大数据时代发展历程是什么全部的内容,包括:大数据时代发展历程是什么、谁能说一下中国互联网企业的发展历程(详细优先)、北京IT培训分享一位大神的学习JAVA心路历程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/8776556.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-21
下一篇2023-04-21

发表评论

登录后才能评论

评论列表(0条)

    保存