AmbariAgent:AmbariAgent需要在集群中的每个节点上都运行一个,负责监控宿主机器的状态信息,执行从Ambari Server上发送过来的操作指令。
17、Spark是UCBerkeleyAMPlab所开源的类HadoopMapReduce的通用的并行计算框架,Spark基于mapreduce算法实现的分布式计算,拥有HadoopMapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map reduce的算法。
18、Spark与Hadoop的对比(Spark的优势)
1、Spark的中间数据放到内存中,对于迭代运算效率更高
2、Spark比Hadoop更通用
3、Spark提供了统一的编程接口
4、容错性– 在分布式数据集计算时通过checkpoint来实现容错
5、可用性– Spark通过提供丰富的Scala, Java,Python API及交互式Shell来提高可用性
19、Spark的组件
1、Spark Streaming:支持高吞吐量、支持容错的实时流数据处理
2、Spark SQL, Data frames: 结构化数据查询
3、MLLib:Spark 生态系统里用来解决大数据机器学习问题的模块
4、GraphX:是构建于Spark上的图计算模型
5、SparkR:是一个R语言包,它提供了轻量级的方式使得可以在R语言中使用 Spark
20、DataFrame是一种以RDD为基础的分布式数据集,类似于传统数据库中的二维表格。
21、DataFrame与RDD的主要区别在于:
前者带有schema元信息,即DataFrame所表示的二维表数据集的每一列都带有名称和类型。这使得SparkSQL得以洞察更多的结构信息,从而对藏于DataFrame背后的数据源以及作用于DataFrame之上的变换进行了针对性的优化,最终达到大幅提升运行时效率的目标。反观RDD,由于无从得知所存数据元素的具体内部结构,Spark Core只能在stage层面进行简单、通用的流水线优化。