大数据入门干货

  1. 云栖社区>
  2. 博客>
  3. 正文

大数据入门干货

好程序员 2019-05-27 15:50:06 浏览406
展开阅读全文

  首先,提及大数据一词的概念。大数据本质还在于数据,但是它有着新的特征亮点。包括:数据来源广,数据格式多样化(结构化数据、非结构化数据、Excel文件、文本文件等)、数据量大(最少也是TB级别的、甚至可能是PB级别)、数据增长速度快等等。

  扩展讲大数据的4个基本特征,我们将进行下面额思考:

1.数据来源广?

  广泛的数据来源从何而来,通过何种方式进行采集与汇总?相对应的我们出现Sqoop,

Cammel,Datax等工具。

2.数据采集之后,该如何存储?

  采集之后,为了方便存储,我们对应的出现了GFS,HDFS,TFS等分布式文件存储系统。

  并且,介于数据的增长速度非常之快,这也就要求我们,数据存储必须可以进行水平扩展。

3.数据存储之后,该如何通过运算快速转化成一致的格式,又该如何快速运算出自己想要的结果?

  对此,MapReduce的分布式运算框架提出了解决方案。但是由于MapReduce需要java的编程代码较多,由此,又出现了Hive,Pig等将SQL转化成MapReduce的解析引擎;再有,因普通的MapReduce只能一批一批地批量处理数据,时间消耗过多,最终目的又要求我们输入的一条数据就能得到结果,于是又出现了Storm/JStorm这样的低时延的流式计算框架;但是如果同时需要批处理和流处理,按照如上就得搭两个集群,Hadoop集群(包括HDFS+MapReduce+Yarn)和Storm集群,不易于管理,所以出现了Spark这样的一站式的计算框架,既可以进行批处理,又可以进行流处理(实质上是微批处理)。而后Lambda架构,Kappa架构的出现,又提供了一种业务处理的通用架构。

4.此外,为了提高工作效率,加快运速度,出现了一些辅助工具:

Ozzie,azkaban:定时任务调度的工具。

Hue,Zepplin:图形化任务执行管理,结果查看工具。

Scala语言:编写Spark程序的最佳语言,当然也可以选择用Python。

Python语言:编写一些脚本时会用到。

Allluxio,Kylin等:通过对存储的数据进行预处理,加快运算速度的工具。

网友评论

登录后评论
0/500
评论
好程序员
+ 关注