当前位置: 首页 > news >正文

网站建设模版/技师培训

网站建设模版,技师培训,wordpress视频站主题,网络营销的特点主要有Spark GraphX是一个分布式的图处理框架。社交网络中,用户与用户之间会存在错综复杂的联系,如微信、QQ、微博的用户之间的好友、关注等关系,构成了一张巨大的图,单机无法处理,只能使用分布式图处理框架处理,…

Spark GraphX是一个分布式的图处理框架。社交网络中,用户与用户之间会存在错综复杂的联系,如微信、QQ、微博的用户之间的好友、关注等关系,构成了一张巨大的图,单机无法处理,只能使用分布式图处理框架处理,Spark GraphX就是一种分布式图处理框架。

1. POM文件

在项目的pom文件中加上Spark GraphX的包:

        <dependency><groupId>org.apache.spark</groupId><artifactId>spark-graphx_2.10</artifactId><version>1.6.0</version></dependency>

2. 设置运行环境

    // 设置运行环境val conf = new SparkConf().setAppName("Simple GraphX").setMaster("spark://master:7077").setJars(Seq("E:\\Intellij\\Projects\\SimpleGraphX\\SimpleGraphX.jar"))val sc = new SparkContext(conf)

3. 图的构造

图是由若干顶点和边构成的,Spark GraphX里面的图也是一样的,所以在初始图之前,先要定义若干的顶点和边:

    // 顶点val vertexArray = Array((1L,("Alice", 38)),(2L,("Henry", 27)),(3L,("Charlie", 55)),(4L,("Peter", 32)),(5L,("Mike", 35)),(6L,("Kate", 23)))//val edgeArray = Array(Edge(2L, 1L, 5),Edge(2L, 4L, 2),Edge(3L, 2L, 7),Edge(3L, 6L, 3),Edge(4L, 1L, 1),Edge(5L, 2L, 3),Edge(5L, 3L, 8),Edge(5L, 6L, 8))

然后再利用点和边生成各自的RDD:

    //构造vertexRDD和edgeRDDval vertexRDD:RDD[(Long,(String,Int))] = sc.parallelize(vertexArray)val edgeRDD:RDD[Edge[Int]] = sc.parallelize(edgeArray)

最后利用两个RDD生成图:

    // 构造图val graph:Graph[(String,Int),Int] = Graph(vertexRDD, edgeRDD)

4. 图的属性操作

Spark GraphX图的属性包括:

(1) Graph.vertices:图中的所有顶点;

(2) Graph.edges:图中所有的边;

(3) Graph.triplets:由三部分组成,源顶点,目的顶点,以及两个顶点之间的边;

(4) Graph.degrees:图中所有顶点的度;

(5) Graph.inDegrees:图中所有顶点的入度;

(6) Graph.outDegrees:图中所有顶点的出度;

对这些属性的操作,直接上代码:

    //图的属性操作println("*************************************************************")println("属性演示")println("*************************************************************")// 方法一println("找出图中年龄大于20的顶点方法之一:")graph.vertices.filter{case(id,(name,age)) => age>20}.collect.foreach {case(id,(name,age)) => println(s"$name is $age")}// 方法二println("找出图中年龄大于20的顶点方法之二:")graph.vertices.filter(v => v._2._2>20).collect.foreach {v => println(s"${v._2._1} is ${v._2._2}")}// 边的操作println("找出图中属性大于3的边:")graph.edges.filter(e => e.attr>3).collect.foreach(e => println(s"${e.srcId} to ${e.dstId} att ${e.attr}"))println// Triplet操作println("列出所有的Triples:")for(triplet <- graph.triplets.collect){println(s"${triplet.srcAttr._1} likes ${triplet.dstAttr._1}")}printlnprintln("列出边属性>3的Triples:")for(triplet <- graph.triplets.filter(t => t.attr > 3).collect){println(s"${triplet.srcAttr._1} likes ${triplet.dstAttr._1}")}println// Degree操作println("找出图中最大的出度,入度,度数:")def max(a:(VertexId,Int), b:(VertexId,Int)):(VertexId,Int) = {if (a._2>b._2) a else b}println("Max of OutDegrees:" + graph.outDegrees.reduce(max))println("Max of InDegrees:" + graph.inDegrees.reduce(max))println("Max of Degrees:" + graph.degrees.reduce(max))println

 运行结果:

Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
17/05/22 20:45:35 INFO Slf4jLogger: Slf4jLogger started
17/05/22 20:45:35 INFO Remoting: Starting remoting
17/05/22 20:45:35 INFO Remoting: Remoting started; listening on addresses :[akka.tcp://sparkDriverActorSystem@192.168.1.101:53375]
*************************************************************
属性演示
*************************************************************
找出图中年龄大于20的顶点方法之一:
Peter is 32
Alice is 38
Charlie is 55
Mike is 35
找出图中年龄大于20的顶点方法之二:
Peter is 32
Alice is 38
Charlie is 55
Mike is 35
找出图中属性大于3的边:
3 to 2 att 7
5 to 3 att 8
5 to 6 att 8列出所有的Triples:
Henry likes Alice
Henry likes Peter
Charlie likes Henry
Charlie likes Kate
Peter likes Alice
Mike likes Henry
Mike likes Charlie
Mike likes Kate列出边属性>3的Triples:
Charlie likes Henry
Mike likes Charlie
Mike likes Kate找出图中最大的出度,入度,度数:
Max of OutDegrees:(5,3)
Max of InDegrees:(1,2)
Max of Degrees:(2,4)

转载于:https://www.cnblogs.com/mstk/p/6891302.html

http://www.lbrq.cn/news/1260397.html

相关文章:

  • 项链seo关键词/网站seo综合查询
  • 天眼查网站建设公司/网络推广工作好做不
  • 东莞注册公司需要什么资料/seo外链建设方法
  • 做网站为什么要服务器/怎么登录百度app
  • 动态网站系统的5个组成部分/360点睛实效平台推广
  • 专业网站制作公司咨询/北京软件开发公司
  • 长垣网站建设/百度搜索引擎官网入口
  • 安卓app开发工具/苏州网站关键字优化
  • 花店网站建设环境分析/互联网营销师是什么
  • 邢台网站制作公司哪家专业/百度自动驾驶技术
  • 百度外卖网站建设与维护方法/百度大数据中心
  • 养老院微网站建设方案/天津优化代理
  • 玉林做网站/网站排名靠前方法
  • 专业做网站的页面设计/网文网站排名
  • 广东省政府网站建设/1个百度指数代表多少搜索
  • 有什么做家常菜的网站/一般的电脑培训班要多少钱
  • 有做国际网站生意吗/移动端关键词优化
  • 视频拍摄设备/网站内部seo优化包括
  • 会员卡管理系统软件哪个好用/盐城seo优化
  • 建设银行违法网站/郑州网络推广大包
  • 义乌门户网站建设/工厂管理培训课程
  • 网站建设公司的pest分析/优化怎么做
  • 白玉网站建设/品牌运营策划
  • 阿里云可以做网站么/最新病毒感染
  • 网站建设什么因素最重要性/网站推广和优化的原因网络营销
  • 青岛做门户网站的有哪些/中国没有限制的搜索引擎
  • 网站权重高+做别的关键词/域名信息查询
  • 生物制药公司网站建设/痘痘该如何去除效果好
  • wordpress 分类信息/seo sem
  • .net建网站的优势/脚本外链平台
  • 水面垃圾清扫船cad【6张】三维图+设计说明书
  • 设计模式-创建型-工厂模式
  • [硬件电路-150]:数字电路 - 数字电路与模拟电路的异同
  • 【Linux网络编程基础--socket地址API】
  • 其它IO函数
  • Python切片命名技术详解:提升代码可读性与维护性的专业实践