spark初窥

来源:互联网 发布:如何网络共享打印机 编辑:程序博客网 时间:2024/05/18 06:02

         由于项目需要,研究和学习spark差不多也快一个月有余,现谈谈我的理解并总结下最近这段时间的学习。

         spark入门门槛感觉不是太高,最新开始接触到的便是MLlib库。原本想通过spark来解决nlp超大数据量建模问题(大概20G左右数据),单机建模处理存在困难,特别还是使用python处理,以上便是我接触spark的缘由。

         初识MLlib库,感觉还是比较简单,整个处理流程也很简明。首先初始化SparkContext,然后创建RDD数据集,最后便是将RDD数据集带入Model内,spark便帮我们开始训练模型了。ps:感谢sequenceiq,最初便是使用sequenceiq创建的docker image建立的spark容器学习,中途遇见了各种问题,镜像系统为centos,spark1.4安装numpy问题,centos 及spark1.6 python版本建立word2vec模型保存后无法load问题。RDD主要包含两种操作:transformation及action。RDD 一个有趣的东西便是惰性运算,transformation不会进行具体运算,直到遇到一个action操作。

       接着了解了spark streaming原理,流程基本与MLlib无异,首先初始化StreamingContext,其对SparkContext初始化进行了封装,然后创建由RDD转换来的DStream数据结构,然后进行相应运算。

       还有一个比较重要的组件,SparkSQL,主要用来让传统处理关系型数据库的开发人员有一个工具可以较好的使用spark进行处理。Ml在MLlib基础上进行更深层次的封装,以后机器学习模块发展可能就是它了,以DataFrame为基础的数据处理结构。还有一个比较重要的组件没有了解便是:GraphX

       然后了解了spark core原理,了解了相应的SparkContext建立过程,TaskScheduler、DAGScheduler、BlockManager等一系列的过程。这部分下来可能需要较细致的研究下。

       下一次建立较深入的spark分析。

0 0
原创粉丝点击