pos機(jī)匯總異常,Spark Graphx 圖計算 圖構(gòu)造器匯總

 新聞資訊  |   2023-04-23 10:09  |  投稿人:pos機(jī)之家

網(wǎng)上有很多關(guān)于pos機(jī)匯總異常,Spark Graphx 圖計算 圖構(gòu)造器匯總的知識,也有很多人為大家解答關(guān)于pos機(jī)匯總異常的問題,今天pos機(jī)之家(www.afbey.com)為大家整理了關(guān)于這方面的知識,讓我們一起來看下吧!

本文目錄一覽:

1、pos機(jī)匯總異常

pos機(jī)匯總異常

spark grahx構(gòu)造圖的方式匯總?cè)缦拢?/p>1.最原始的方法構(gòu)造graph

使用Graph的伴生對象的apply方法。允許從頂點(diǎn)和邊的RDD上創(chuàng)建一個圖。

import org.apache.log4j.{Level, Logger}import org.apache.spark.graphx.{Graph, Edge}import org.apache.spark.{SparkContext, SparkConf}/*** Created by lichangyue on 2016/9/13.*/object FirstGraph1 {def main(args: Array[String]) { Logger.getLogger("org.apache.spark").setLevel(Level.ERROR); Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.ERROR);val conf = new SparkConf().setAppName("FirstGrahp").setMaster("local")val sc = new SparkContext(conf)val users = sc.parallelize(Array((3L,("rxin","student")),(7L,("jgonzal","postdoc")), (5L,("franklin","prof")),(2L,("istoica","prof"))))val relationships = sc.parallelize(Array(Edge(3L,7L,"collab"),Edge(5L,3L,"advisor"),Edge(2L,5L,"collegaue"),Edge(5L,7L,"pi")))val defaultUser = ("John Doe","Missing")

//創(chuàng)建圖val graph =Graph(users,relationships,defaultUser)//模式匹配 println( "count :" +graph.vertices.filter{ case(id,(name,pos)) => pos =="postdoc"}.count)graph.edges.filter(e => e.srcId > e.dstId ).count() }}2.從文件中讀取讀取數(shù)據(jù)構(gòu)建graph

從文件中讀取讀取數(shù)據(jù)構(gòu)建graph的接口,GraphLoader中的edgeListFile方法。

GraphLoader.edgeListFile 從文件中加載一張圖,文件內(nèi)容如下:

2 1

4 1

1 2

會自動根據(jù)邊創(chuàng)建頂點(diǎn),所有的邊和頂點(diǎn)的屬性默認(rèn)為1。

object GraphFromFile2 {def main(args: Array[String]) { Logger.getLogger("org.apache.spark").setLevel(Level.ERROR); Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.ERROR);// val conf = new SparkConf().setAppName("graph2").setMaster("spark://10.58.22.219:7077")val conf = new SparkConf().setAppName("graph2").setMaster("local[4]")val sc = new SparkContext(conf)// val graph = GraphLoader.edgeListFile(sc,"hdfs://S7SA053:8020/stat/web-Google.txt") //指定分區(qū)數(shù)量val graph = GraphLoader.edgeListFile(sc,"hdfs://S7SA053:8020/stat/web-Google.txt",numEdgepartitions=4)//查看頂點(diǎn)數(shù)量val vcount = graph.vertices.count()println("vcount:" +vcount)//查看邊的數(shù)量val ecount = graph.edges.count()println("ecount:" + ecount) }}3. 使用邊創(chuàng)建圖

Graph.fromEdges(ClassTag[VD],ClassTag[ED]):Graph[VD,ED]) 允許僅僅從一個邊RDD上創(chuàng)建一個圖,它自動地創(chuàng)建邊提及的頂點(diǎn),并分配這些頂點(diǎn)默認(rèn)的值。

def fromEdges[VD: ClassTag, ED: ClassTag]( edges: RDD[Edge[ED]], defaultValue: VD, edgeStorageLevel: StorageLevel = StorageLevel.MEMORY_ONLY, vertexStorageLevel: StorageLevel = StorageLevel.MEMORY_ONLY): Graph[VD, ED]

val edge=List(//邊的信息(111,122),(111,133),(122,133),(133,144),(133,155),(133,116), (144,155),(155,116),(177,188),(177,199),(188,199))//構(gòu)建邊的rddval edgeRdd = sc.parallelize(edge).map(x =>{Edge(x._1.toLong , x._2.toLong, None)})//通過邊構(gòu)建圖 , 0是頂點(diǎn)默認(rèn)屬性val graph = Graph.fromEdges(edgeRdd,0)4.從源點(diǎn)和目的點(diǎn)的元組構(gòu)建

Graph.fromEdgeTuples],VD,Option[PartitionStrategy])(ClassTag[VD]):Graph[VD,Int]) 允許僅僅從一個邊元組組成的RDD上創(chuàng)建一個圖。分配給邊的值為1。它自動地創(chuàng)建邊提及的頂點(diǎn),并分配這些頂點(diǎn)默認(rèn)的值。

def fromEdgeTuples[VD: ClassTag]( rawEdges: RDD[(VertexId, VertexId)], defaultValue: VD, uniqueEdges: Option[PartitionStrategy] = None, edgeStorageLevel: StorageLevel = StorageLevel.MEMORY_ONLY, vertexStorageLevel: StorageLevel = StorageLevel.MEMORY_ONLY): Graph[VD, Int]5.生成隨機(jī)圖

GraphGenerators.logNormalGraph隨機(jī)圖生成方法源碼:默認(rèn)出度為4,標(biāo)準(zhǔn)偏差為1.3,并行生成numVertices,partition默認(rèn)為sc的默認(rèn)partition。

Logger.getLogger("org.apache.spark").setLevel(Level.ERROR);Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.ERROR);val conf = new SparkConf()val sc = new SparkContext("local","text",conf)val graph = GraphGenerators.logNormalGraph(sc,numVertices = 10) //生成10個頂點(diǎn)的圖 .mapVertices((id,_) => id.toDouble)graph.vertices.collect.foreach(println(_))graph.edges.collect.foreach(println(_))

以上就是關(guān)于pos機(jī)匯總異常,Spark Graphx 圖計算 圖構(gòu)造器匯總的知識,后面我們會繼續(xù)為大家整理關(guān)于pos機(jī)匯總異常的知識,希望能夠幫助到大家!

轉(zhuǎn)發(fā)請帶上網(wǎng)址:http://www.afbey.com/news/23048.html

你可能會喜歡:

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 babsan@163.com 舉報,一經(jīng)查實(shí),本站將立刻刪除。