加载中...
初识Spark及HDFS与MR
发表于:2021-08-19 | 分类: 《贝叶斯网络结构学习算法》论文笔记
字数统计: 612 | 阅读时长: 2分钟 | 阅读量:

本笔记是对《贝叶斯网络结构学习算法研究》论文进行学习时所写
上篇文章我们了解了什么是BN结构学习算法以及GA算法
该论文还需要学习的内容如下:(本文只解决第一个问题)

  • 什么是Spark分布式计算平台?
  • 如何用分布式实现GA算法?
  • 如何并行化构造超结构?
  • 如何基于Spark实现GA算法?
  • 如何基于Spark实现评分计算?

在学习Spark之前,先了解以下分布式计算框架

首先是Hadoop平台,即一个面向大数据的分布式基础架构
其中HDFS是分布式文件系统,把大数据进行切分然后存储到HDFS的若干节点上

  • HDFS有两种节点,NameNode(NN)和DataNode(DN)。运行时一般是一个NN多个DN

  • 读取步骤:首先HDFS客户端通过分布式文件系统向NN请求下载文件,NN查询元数据找到该文件所在的多个DN地址,客户端依次通过FSData输入流向DN地址请求并读取数据,直到完成读取

然后介绍一下MapReduce(MR),MR是一个并行处理数据的编程模型,用来对大数据进行计算

  • MR流程分为两个阶段,Map阶段和Reduce阶段,分别由Mapper和Reducer两个接口实现
  • 什么是Map,就是拆,把拼好的乐高汽车玩具拆成一块块积木
  • 什么是Reduce,就是组合,用积木组合成变形金刚
  • 那么怎么实现MR呢?如下图所示,一般先把大数据分成一”片”一”片”,然后每一”片”都由一个Map去拆,拆好了以后再shuffle归类成一组一组的,然后Reduce把每一组进行组合

终于可以开始学习Spark了

Spark是基于MR的一个处理大数据的计算框架,比MR速度更快
其中SparkSQL用来处理数据,SparkML用来做机器学习,SparkStreaming用来做流计算
Spark底层是用的RDD来处理数据的,RDD是什么?

  • RDD其实是一个抽象概念,弹性分布式数据集。
  • RDD这个数据集是放在内存里的,并且RDD可以分区,每个分区放在集群的不同节点上,从而可以并行操作
  • 通俗来说,RDD的表现形式类似数据库的视图,是抽象的,如下图所示

上一篇:
Spark实现基于GA的BN结构学习
下一篇:
初识贝叶斯网络与遗传算法
本文目录
本文目录