大数据技术有哪些 应该重点学哪些知识

想学习大数据技术,是不是首先要知道大数据技术有哪些呢?这样也好知道自己未来应该往哪个方向发展,应该重点学习哪些知识? 抽象而言,各种大数据技术无外乎分布式存储 并行计算。具体体现为各种分布式文件系统和建立在其上的并行运算框架。这些软件程序都部署在多个相互连通、统一管理的物理或虚拟运算节点之上,形成集群(cluster)。因此不妨说,云计算是大数据的基础。



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



大数据技术有哪些 应该重点学哪些知识

 

想学习大数据技术,是不是首先要知道大数据技术有哪些呢?这样也好知道自己未来应该往哪个方向发展,应该重点学习哪些知识?

抽象而言,各种大数据技术无外乎分布式存储   并行计算。具体体现为各种分布式文件系统和建立在其上的并行运算框架。这些软件程序都部署在多个相互连通、统一管理的物理或虚拟运算节点之上,形成集群(cluster)。因此不妨说,云计算是大数据的基础。


介绍几种当前比较流行的大数据技术:

1.Hadoop

Hadoop无疑是当前知名的大数据技术了。

2003年到2004年间,Google发布了关于GFSMapReduceBigTable三篇技术论文(这几篇论文成为了后来云计算、大数据领域发展的重要基石)

当时一位因公司倒闭赋闲在家的程序员Doug Cutting根据前两篇论文,开发出了一个简化的山寨版GFS  HDFS,以及基于其的MapReduce计算框架,这就是Hadoop版本。

后来CuttingYahoo雇佣,得以依赖Yahoo的资源改进Hadoop,并将其贡献给了Apache开源社区。

简单描述Hadoop原理:数据分布式存储,运算程序被发派到各个数据节点进行分别运算(Map),再将各个节点的运算结果进行合并归一(Reduce),生成结果。

相对于动辄TB级别的数据,计算程序一般在KB  MB量级,这种移动计算不移动数据的设计节约了大量网络带宽和时间,并使得运算过程可充分并行化。

在其诞生后的近10年里,Hadoop凭借其简单、易用、高效、免费、社区支持丰富等特征成为众多企业云计算、大数据实施的首选。

2.Storm

Hadoop虽好,却有其“死穴”.其一:它的运算模式是批处理。这对于许多有实时性要求的业务就无法做到很好的支持。

因此,Twitter推出了他们自己的基于流的运算框架——Storm不同于Hadoop一次性处理所有数据并得出统一结果的作业(job)Storm对源源导入的数据流进行持续不断的处理,随时得出增量结果。

Hadoop的另一个致命弱点是:它的所有中间结果都需要进行硬盘存储,I/O消耗巨大,这就使得它很不适合多次迭代的运算。而大多数机器学习算法,恰恰要求大量迭代运算。

3.Spark

2010年开始,UC Berkeley AMP Lab开始研发分布式运算的中间过程全部内存存储的Spark框架,由此在迭代计算上大大提高了效率。也因此成为了Hadoop的强有力竞争者。

4.NoSQL 数据库

NoSQL数据库可以泛指非关系型数据库,不过一般用来指称那些建立在分布式文件系统(例如HDFS)之上,基于key-value对的数据管理系统。

相对于传统的关系型数据库,NoSQL数据库中存储的数据无需主键和严格定义的schema于是,大量半结构化、非结构化数据可以在未经清洗的情况下直接进行存储。这一点满足了处理大量、高速、多样的大数据的需求。当前比较流行的NoSQL数据库有MongoDB,Redis,Cassandra,HBase等。

NoSQL并不是没有SQL,而是不仅仅有(not only)SQL的意思。为了兼容之前许多运行在关系型数据库上的业务逻辑,有很多在NoSQL数据库上运行SQL的工具涌现出来,典型的例如HivePig,它们将用户的SQL语句转化成MapReduce作业,在Hadoop上运行。

大数据产业已进入发展的“快车道”,急需大量优秀的大数据人才作为后盾。能够在大数据行业崛起的初期进入到这个行业当中来,才有机会成为时代的弄潮儿。大数据开发新进企业级服务器实战教学,20周带你一站式搞定匪夷所思的大数据开发技术。


猜你喜欢

转载自blog.51cto.com/13854477/2370121
今日推荐