Spark学习之路 (二十七)图简介

讨论QQ:1586558083

目录

正文

回到顶部

一、图

1.1 基本概念

图是由顶点集合(vertex)及顶点间的关系集合(边edge)组成的一种数据结构。

这里的图并非指代数中的图。图可以对事物以及事物之间的关系建模,图可以用来表示自然发生的连接数据,如:社交网络、互联网web页面

常用的应用有:在地图应用中找到最短路径、基于与他人的相似度图,推荐产品、服务、人际关系或媒体

回到顶部

二、术语

2.1 顶点和边

一般关系图中,事物为顶点,关系为边

2.2 有向图和无向图

在有向图中,一条边的两个顶点一般扮演者不同的角色,比如父子关系、页面A连接向页面B;

在一个无向图中,边没有方向,即关系都是对等的,比如qq中的好友。

GraphX中有一个重要概念,所有的边都有一个方向,那么图就是有向图,如果忽略边的方向,就是无向图。

2.3 有环图和无环图

有环图是包含循环的,一系列顶点连接成一个环。无环图没有环。在有环图中,如果不关心终止条件,算法可能永远在环上执行,无法退出。

 

2.4 度、出边、入边、出度、入度

度表示一个顶点的所有边的数量

出边是指从当前顶点指向其他顶点的边

入边表示其他顶点指向当前顶点的边

出度是一个顶点出边的数量

入度是一个顶点入边的数量

2.5 超步

图进行迭代计算时,每一轮的迭代叫做一个超步

回到顶部

三、图处理技术

图处理技术包括图数据库、图数据查询、图数据分析和图数据可视化。

3.1 图数据库

Neo4j、Titan、OrientDB、DEX和InfiniteGraph等基于遍历算法的、实时的图数据库;

3.2 图数据查询

对图数据库中的内容进行查询

3.3 图数据分析

Google Pregel、Spark GraphX、GraphLab等图计算软件。传统的数据分析方法侧重于事物本身,即实体,例如银行交易、资产注册等等。而图数据不仅关注事物,还关注事物之间的联系。例如,如果在通话记录中发现张三曾打电话给李四,就可以将张三和李四关联起来,这种关联关系提供了与两者相关的有价值的信息,这样的信息是不可能仅从两者单纯的个体数据中获取的。

3.4 图数据可视化

OLTP风格的图数据库或者OLAP风格的图数据分析系统(或称为图计算软件),都可以应用图数据库可视化技术。需要注意的是,图可视化与关系数据可视化之间有很大的差异,关系数据可视化的目标是对数据取得直观的了解,而图数据可视化的目标在于对数据或算法进行调试。

原文地址:https://www.cnblogs.com/liuys635/p/11002835.html

时间: 2024-08-30 14:11:35

Spark学习之路 (二十七)图简介的相关文章

Spark学习之路 (十七)Spark分区

讨论QQ:1586558083 目录 一.分区的概念 二.为什么要进行分区 三.Spark分区原则及方法 3.1 本地模式 3.2 YARN模式 四.分区器 正文 回到顶部 一.分区的概念 分区是RDD内部并行计算的一个计算单元,RDD的数据集在逻辑上被划分为多个分片,每一个分片称为分区,分区的格式决定了并行计算的粒度,而每个分区的数值计算都是在一个任务中进行的,因此任务的个数,也是由RDD(准确来说是作业最后一个RDD)的分区数决定. 回到顶部 二.为什么要进行分区 数据分区,在分布式集群里,

java痛苦学习之路[二] ---JSONObject使用

一.Strut2必须引入的包 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging.jar 5.ezmorph.jar 6.json-lib-2.2.2-jdk15.jar 当然除了这些包,strut2基础包也得引入 struts2-core-2.1.6.jar freemarker-2.

Spark学习之路 (二十八)分布式图计算系统

一.引言 在了解GraphX之前,需要先了解关于通用的分布式图计算框架的两个常见问题:图存储模式和图计算模式. 二.图存储模式 巨型图的存储总体上有边分割和点分割两种存储方式.2013年,GraphLab2.0将其存储方式由边分割变为点分割,在性能上取得重大提升,目前基本上被业界广泛接受并使用. 2.1 边分割(Edge-Cut) 每个顶点都存储一次,但有的边会被打断分到两台机器上.这样做的好处是节省存储空间:坏处是对图进行基于边的计算时,对于一条两个顶点被分到不同机器上的边来说,要跨机器通信传

Spark学习之路 (十八)SparkSQL简单使用

讨论QQ:1586558083 目录 一.SparkSQL的进化之路 二.认识SparkSQL 2.1 什么是SparkSQL? 2.2 SparkSQL的作用 2.3 运行原理 2.4 特点 2.5 SparkSession 2.7 DataFrames 三.RDD转换成为DataFrame 3.1 方式一:通过 case class 创建 DataFrames(反射) 3.2 方式二:通过 structType 创建 DataFrames(编程接口) 3.3 方式三:通过 json 文件创建

Dynamic CRM 2013学习笔记(二十七)无代码 复制/克隆方法

前面介绍过二种复制/克隆方法:<Dynamic CRM 2013学习笔记(十四)复制/克隆记录> 和<Dynamic CRM 2013学习笔记(二十五)JS调用web service 实现多条记录复制(克隆)功能>. 第一种方法,是复制单个同类型实体:第二种方法是在list界面,复制多条记录到另一个实体:这二种方法都要coding. 下面介绍一种复制方法,无需代码,就可以在创建时,把另一实体的相关信息克隆出来. 一.需求 现有二个实体,一个RC, 一个RC Change(RC的子实

Spark学习之路 (二十七)图简介[转]

图 基本概念 图是由顶点集合(vertex)及顶点间的关系集合(边edge)组成的一种数据结构. 这里的图并非指代数中的图.图可以对事物以及事物之间的关系建模,图可以用来表示自然发生的连接数据,如:社交网络.互联网web页面 常用的应用有:在地图应用中找到最短路径.基于与他人的相似度图,推荐产品.服务.人际关系或媒体 术语 顶点和边 一般关系图中,事物为顶点,关系为边 有向图和无向图 在有向图中,一条边的两个顶点一般扮演者不同的角色,比如父子关系.页面A连接向页面B: 在一个无向图中,边没有方向

Spark学习之路 (二十八)分布式图计算系统[转]

引言 在了解GraphX之前,需要先了解关于通用的分布式图计算框架的两个常见问题:图存储模式和图计算模式. 图存储模式 巨型图的存储总体上有边分割和点分割两种存储方式.2013年,GraphLab2.0将其存储方式由边分割变为点分割,在性能上取得重大提升,目前基本上被业界广泛接受并使用. 边分割(Edge-Cut) 每个顶点都存储一次,但有的边会被打断分到两台机器上.这样做的好处是节省存储空间:坏处是对图进行基于边的计算时,对于一条两个顶点被分到不同机器上的边来说,要跨机器通信传输数据,内网通信

Spark学习之路 (二)Spark2.3 HA集群的分布式安装

一.下载Spark安装包 1.从官网下载 http://spark.apache.org/downloads.html 2.从微软的镜像站下载 http://mirrors.hust.edu.cn/apache/ 3.从清华的镜像站下载 https://mirrors.tuna.tsinghua.edu.cn/apache/ 二.安装基础 1.Java8安装成功 2.zookeeper安装成功 3.hadoop2.7.5 HA安装成功 4.Scala安装成功(不安装进程也可以启动) 三.Spar

Spark学习之路 (十二)SparkCore的调优之资源调优

摘抄自:https://tech.meituan.com/spark-tuning-basic.html 一.概述 在开发完Spark作业之后,就该为作业配置合适的资源了.Spark的资源参数,基本都可以在spark-submit命令中作为参数设置.很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置这些参数,最后就只能胡乱设置,甚至压根儿不设置.资源参数设置的不合理,可能会导致没有充分利用集群资源,作业运行会极其缓慢:或者设置的资源过大,队列没有足够的资源来提供,进而导致各种异常