准备
hadoop集群,zookeeper集群,ntp服务,java环境等
在Spark Streaming中新增加了一个重要概念就是离散流(DStreams),它代表了一个连续的数据流,或从数据源接收到的,或通过将输入流中产生处理后的数据流。在内部,它是由RDDS的连续序列表示,这是Spark的一个不可改变的,分布式的数据集抽象。任何在DStream上使用的操作都会转化为底层RDDS操作。而DStream最重要的就是输入,转换,以及输出,今天介绍的将是后面的两部分.
今天我将给大家介绍PageRank算法,Spark GraphX官方文档介绍的图计算算法主要有三个,分别是PageRank算法,ConnectedComponents(连通体)算法,TriangleCount(三角形计数)算法,这些算法包含在org.apache.spark.graphx.lib包中,可以被直接访问。
PageRank,即网页排名,又称网页级别、Google左侧排名或佩奇排名,最先是由Google提出的,为Google的精确搜索做出了很大贡献,它是一种根据网页之间相互的超链接计算的技术,可以计算网页排名,而在Spark Graphx里面.它能度量一个图中每个顶点的重要程度.应用的场景很广,比如说社交系统的可以据此来计算网友粉丝排名,计算网页排名等等.
Spark Streaming可以接收实时流数据从任意的具有内置支持的数据源(比如 Flume, Kafka, Kinesis, files, sockets等等),这就要求开发人员实现一个接收器,用于接收来自有关数据源的数据。当然这个步骤不是必须的,因为在Spark内部的一些”Stream”方法中已经封装了类似Recevier接收器的操作.但是在数据传输的过程中可靠性是很重要的,应用在接受到源信息后,要对源发出确认信息,这种灵活的操作就得采用自定义Recevier.
贝叶斯分类算法是统计学的一种分类方法,它是一类利用概率统计知识进行分类的算法。贝叶斯算法可分为朴素贝叶斯算法,贝叶斯信念网络,树增强型朴素贝叶斯算法(TAN)等等.而其中运用最广的是朴素贝叶斯算法,朴素贝叶斯分类算法(Naive Bayes)可以与决策树和神经网络分类算法相媲美,该算法能运用到大型数据库中,而且方法简单、分类准确率高、速度快。
它的应用场景非常广,我们可以通过已知的训练数据来为未知的数据分类,训练数据越大,结果越接近真实值,我们可以用中医看病来分析这个过程,医生看到病人不能立马就得出结果,而是通过观察病人的各种情况然后推断出病因,这种过程其实是把病人的特征和自己记忆中病例的特征进行比对,和贝叶斯算法对训练数据比对有异曲同工之妙.
在企业级hadoop集群使用过程中有时需要外部网络来访问hadoop内部网络,比如外部网络访问hdfs中文件,但是根据hdfs文件访问流程知道客户端并不直接从namenode获取数据,而是通过namenode查询到数据位置后,返回给客户端一个datanode地址供客户端与datanode建立通信,这时问题就来了,namenode返回的地址为hadoop内部地址,外部网络无法访问,此时客户端怎么获取到数据呢?
决策树也是常用的分类算法之一,与其它分类算法相比具有分类精度高,生成模型简单,不用预先了解模型的特征等优点.决策树算法有ID3,C4.5,CART等几种,一个决策树包含三种类型的节点: 1.决策节点——通常用矩形框来表式 2.机会节点——通常用圆圈来表式 3.终结点——通常用三角形来表示,如下图: