浅谈大数据处理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/meivan330/article/details/81352114

刚接触大数据处理,将大数据处理的框架记录下来,之后深入的研究。

大数据处理的必要性

目前互联网中数据的数量正在飞速的增长,首先是G为单位,然后是T级别、P级别、E级别。数据虽然很多,但是我们往往只惯性我们感兴趣的那一部分,因此我们需要对海量数据进行处理获取有价值的信息来为我们所用。比如做数据分析来做定向营销、以及为客户提供个性化的服务。除此之外我们还可以对海量数据进行前期预处理,然后训练一些模型,我们可以用这些训练好的模型来对未来的事情进行预测。

大数据处理方式

如果原始的数据集很小,我们可以对数据进行单机处理分析,获取有价值的信息。但是如今为了获得更准确或者更有价值的信息,我们不得不对海量的原始数据进行处理。因此便出现了想hadoop、spark这样的分布式处理框架。在这些平台上面处理可以加快数据分析的速度。因为它们的主要思想是在一个主节点master上将打的计算任务分给其他的子节点来并行运算,然后汇总结果。

hadoop:hadoop的核心组件是HDFS和MapReduce,HDPF是分布式存储系统,它可以将海量数据存储在不同的子节点上,但是用户对此并不会感觉到。MapReduce是hadoop的核心计算框架,主要负责任务的分配以及结果的汇总。MapReduce由于会将中间结果写入HDFS,因此速度相对来说比较慢,实时性不够高,适合离线大数据处理,早期的数据处理主要是用这种框架。随着大数据处理的发展,对数据处理的实时性有了更高的需求,也就是需要满足流处理的平台。spark提供实时的流处理,当然还有其他的流处理框架。

spark:spark的核心组件是分布式存储系统和RDD以及上层业务层,业务层包括spark sql,spark streaming,mllib,graph x四大组件,可以满足许多场景的使用。

spark的分布式存储系统可以用hadoop的HDFS,并且目前主要也是这么用的,但是也可以用其他的,它并不依赖与hadoop。RDD是spark所特有的数据结构,可以说对spark的操作都是最rdd的操作。rdd操作分为两种,一种是transform,它可以生成一个新的rdd,常用的有map、filter等,另一种是action,它产生实际的rdd运算,常用的有collect、take等。rdd操作属于惰性调用,也就是说transform的时候它并没有执行,而是等到action的时候才会执行并且产生结果。

spark的业务层包括spark sql,它适用于交互式的查询、搜索等场景。spark streamin 流处理,实时处理领域用的多。mllib 机器学习库,里面提供了很多机器学习的模型,比如逻辑回归,随机森林等。graph x 图计算,用于处理多变多节点的图,比如社交网络图。

spark主要通过scala进行操作,但是它的外围也提供了多种其他语言的接口,比如python。但是对于大数据的实时处理,python的效率并没有Scala的效率高。

后续深入学习再继续更新.........

猜你喜欢

转载自blog.csdn.net/meivan330/article/details/81352114