spark graphx 图结构 画图/可视化

2024-06-23 04:48

本文主要是介绍spark graphx 图结构 画图/可视化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

所需的包: maven包:
<!--&lt;!&ndash; https://mvnrepository.com/artifact/org.graphstream/gs-core &ndash;&gt;-->
<dependency><groupId>org.graphstream</groupId><artifactId>gs-core</artifactId><version>1.2</version>
</dependency><!--&lt;!&ndash; https://mvnrepository.com/artifact/org.graphstream/gs-ui &ndash;&gt;-->
<dependency><groupId>org.graphstream</groupId><artifactId>gs-ui</artifactId><version>1.2</version>
</dependency><!--&lt;!&ndash; https://mvnrepository.com/artifact/org.scalanlp/breeze &ndash;&gt;-->
<dependency><groupId>org.scalanlp</groupId><artifactId>breeze_2.11</artifactId><version>0.12</version>
</dependency><!--&lt;!&ndash; https://mvnrepository.com/artifact/org.scalanlp/breeze-viz &ndash;&gt;-->
<dependency><groupId>org.scalanlp</groupId><artifactId>breeze-viz_2.11</artifactId><version>0.12</version>
</dependency><!--&lt;!&ndash; https://mvnrepository.com/artifact/org.jfree/jcommon &ndash;&gt;-->
<dependency><groupId>org.jfree</groupId><artifactId>jcommon</artifactId><version>1.0.24</version>
</dependency><!-- https://mvnrepository.com/artifact/org.jfree/jfreechart -->
<dependency><groupId>org.jfree</groupId><artifactId>jfreechart</artifactId><version>1.0.19</version>
</dependency>

运行代码:

package net.qihoo.antispam.personal.graphximport org.apache.spark.graphx.{Edge, Graph, VertexId}
import org.apache.spark.{SparkConf, SparkContext}
import org.graphstream.graph.implementations.{AbstractEdge, SingleGraph, SingleNode}object playGraph{def main(args: Array[String]): Unit = {val sparkConf = new SparkConf().setAppName("GraphStreamDemo").set("spark.master", "local[*]")val sc = new SparkContext(sparkConf)val graph: SingleGraph = new SingleGraph("graphDemo")val vertices = sc.parallelize(List((1L, "ip"),(2L, "user"),(3L, "device")))val edges = sc.parallelize(List(Edge(1L, 2L, "1-2"),Edge(1L, 3L, "1-3"),Edge(2L, 3L, "2-4")))val srcGraph = Graph(vertices, edges)graph.setAttribute("ui.stylesheet", "url(file:XXX/mystylesheets)")graph.setAttribute("ui.quality")graph.setAttribute("ui.antialias")//    load the graphx vertices into GraphStreamfor ((id, name) <- srcGraph.vertices.collect()){val node = graph.addNode(id.toString).asInstanceOf[SingleNode]node.addAttribute("ui.label",name)}//    load the graphx edges into GraphStream edgesfor (Edge(x, y, info) <- srcGraph.edges.collect()){val edge = graph.addEdge(x.toString ++ y.toString, x.toString, y.toString, true).asInstanceOf[AbstractEdge]edge.addAttribute("ui.label",info)}graph.display()}结果图:

节点指定颜色见后面的文档

这篇关于spark graphx 图结构 画图/可视化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1086226

相关文章

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

使用Folium在Python中进行地图可视化的操作指南

《使用Folium在Python中进行地图可视化的操作指南》在数据分析和可视化领域,地图可视化是一项非常重要的技能,它能够帮助我们更直观地理解和展示地理空间数据,Folium是一个基于Python的地... 目录引言一、Folium简介与安装1. Folium简介2. 安装Folium二、基础使用1. 创建

基于Python开发PDF转PNG的可视化工具

《基于Python开发PDF转PNG的可视化工具》在数字文档处理领域,PDF到图像格式的转换是常见需求,本文介绍如何利用Python的PyMuPDF库和Tkinter框架开发一个带图形界面的PDF转P... 目录一、引言二、功能特性三、技术架构1. 技术栈组成2. 系统架构javascript设计3.效果图

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

SpringBoot操作spark处理hdfs文件的操作方法

《SpringBoot操作spark处理hdfs文件的操作方法》本文介绍了如何使用SpringBoot操作Spark处理HDFS文件,包括导入依赖、配置Spark信息、编写Controller和Ser... 目录SpringBoot操作spark处理hdfs文件1、导入依赖2、配置spark信息3、cont