首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在美国国会图书馆标题表的SKOS上运行Apache Spark GraphX算法

我还描述了Spark的GraphX库如何让您在图形数据结构上进行这种计算,以及我如何获得一些使用RDF数据的想法。我的目标是在GraphX数据上使用RDF技术,或者,以演示(他们彼此)如何互相帮助。...这些数据也可以帮助其他应用程序,现在它可以帮助使用Spark的分布式应用程序。...基本的Spark数据结构是弹性分布式数据集(Resilient Distributed Dataset, or RDD)。GraphX使用的图形数据结构是顶点RDD和边RDD的组合。...在GraphX图中存储RDF的第一步显然是将谓词存储在边RDD,并将顶点RDD中的主体和资源对象以及文字属性作为这些RDD中的额外信息,如(名称,角色)对和Spark网站的Example Property...创建一个国会图书馆标题表连接组件的报告 加载这些数据结构(加上另一个允许快速查找的参考标签)后,我下面的程序将GraphX连接组件算法应用到使用skos:related属性连接顶点的图的子集,如“Cocktails

1.9K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Apache Spark 2.2.0 中文文档 - GraphX Programming Guide | ApacheCN

    这些是分别与每个顶点和边缘相关联的对象的类型。 当它们是原始数据类型(例如: int ,double 等等)时,GraphX 优化顶点和边缘类型的表示,通过将其存储在专门的数组中来减少内存占用。...为了避免重新计算,在多次使用它们时,必须明确缓存它们(参见 Spark Programming Guide)。GraphX 中的图形表现方式相同。...在以下示例中,我们可以使用 Pregel 运算符来表达单源最短路径的计算。 import org.apache.spark.graphx....过滤器实际上是通过 BitSet 使用索引重新实现的,并保留与其他VertexRDD 进行快速连接的能力。...默认分区策略是使用图形构建中提供的边的初始分区。然而,用户可以轻松切换到 GraphX 中包含的 2D 划分或其他启发式算法。 ?

    3.1K91

    GraphX编程指南-官方文档-整理

    要了解更多有关如何开始使用Spark参考 Spark快速入门指南。 属性图 该 属性图是一个用户定义的顶点和边的有向多重图。有向多重图是一个有向图,它可能有多个平行边共享相同的源和目的顶点。...GraphX 优化顶点和边的类型的表示方法,当他们是普通的旧的数据类型(例如,整数,双精度等)通过将它们存储在专门的阵列减小了在内存占用量。 在某些情况下,可能希望顶点在同一个图中有不同的属性类型。...为了避免重复计算,当他们需要多次使用时,必须明确地使用缓存(见 Spark编程指南)。在GraphX中Graphs行为方式相同。当需要多次使用图形时,一定要首先调用Graph.cache。...过滤器使用的是实际通过BitSet实现的,从而复用索引和保持能快速与其他 VertexRDD 实现连接功能。...默认分区策略是按照图的构造,使用图中初始的边。但是,用户可以方便地切换到二维-分区或GraphX中其他启发式分区方法。 ?

    4.1K42

    GraphX具体功能的代码使用实例-Scala实现

    GraphX 为整个图计算流程提供了强大的支持,先前已经有若干篇文章先后介绍了GraphX的强大功能,在GraphX官方编程指南中,提供了部分简单易懂的示例代码,其为GraphX的使用提供了一个初步的认识...{Level, Logger} import org.apache.spark.graphx._ import org.apache.spark.rdd.RDD import org.apache.spark...,注意顶点和边都是用元组定义的Array //顶点的数据类型 val vertexArray = Array( (1L, ("Alice", 28)),(2L, ("Bob"...spark-graphx" % "2.2.0" // //mapReduceTriplets // 操作应用用户定义的map函数到每一个triplet ,使用用户定义的reduce函数聚合产生 messages...5 同其他顶点间的距离:本身距离为0,其他距离为MAX val initialGraph = graph.mapVertices((id,_) => if (id == sourceId) 0.0 else

    2.1K31

    大数据技术之_19_Spark学习_05_Spark GraphX 应用解析 + Spark GraphX 概述、解析 + 计算模式 + Pregel API + 图算法参考代码 + PageRank

    第1章 Spark GraphX 概述 1.1 什么是 Spark GraphX ?   ...通过限制计算类型以及引入新的技术来切分和分配图,这些系统可以高效地执行复杂的图形算法,比一般的分布式数据计算(data-parallel,如 spark、MapReduce)快很多。 ?   ...执行者使用一系列顶点分区方法来对图进行分区。如 RDD 一样,图的每个分区可以在发生故障的情况下被重新创建在不同的机器上。   ...Step1、开始的第一步是引入 Spark 和 GraphX 到你的项目中,如下面所示: import org.apache.spark.graphx....subgraph 操作可以用于很多场景,如获取 感兴趣的顶点和边组成的图或者获取清除断开连接后的图。

    2K41

    主流开源分布式图计算框架 Benchmark

    本评测使用的是针对有向图的单向连通图算法。 算法思路:connected-component 是一个非全图迭代式算法。我们使用 label 值来表示顶点所属的连通子图。...我们使用dist 表示某顶点到指定源点的最短距离。算法开始时,源点的 dist 值设为 0,其他顶点的 dist 值初始化为无穷大值,并将源点置为激活态。...由于使用“点分割”切图,顶点可能存储多份,即某顶点可能有多个镜像顶点(黄色圆圈),但只会有 1 个主顶点(白色圆圈)。顶点维度的数据都存储在主顶点上,镜像顶点充当消息传递的“桥梁”。...3.2.1 测试结果 [image.png] 3.2.2 数据分析 GraphX / Giraph:原因如 3.1.2 节所述,GraphX 和 Giraph 由于内存占用及性能原因,在 4 nodes...其他指标同理。

    1.8K20

    Spark图计算及GraphX简单入门

    GraphX介绍 GraphX应用背景 Spark GraphX是一个分布式图处理框架,它是基于Spark平台提供对图计算和图挖掘简洁易用的而丰富的接口,极大的方便了对分布式图处理的需求。...Spark GraphX由于底层是基于Spark来处理的,所以天然就是一个分布式的图处理系统。...1.0版本,GraphX正式投入生产使用。 ? 值得注意的是,GraphX目前依然处于快速发展中,从0.8的分支到0.9和1.0,每个版本代码都有不少的改进和重构。...GraphX计算模式 如同Spark一样,GraphX的Graph类提供了丰富的图运算符,大致结构如下图所示。...它不会在单个顶点上进行消息遍历,而是将顶点的多个Ghost副本收到的消息聚合后,发送给Master副本,再使用vprog函数来更新点值。消息的接收和发送都被自动并行化处理,无需担心超级节点的问题。

    2.6K51

    GraphX 在图数据库 Nebula Graph 的图计算实践

    二、算法应用 为了支撑大规模图计算的业务需求,Nebula Graph 基于 GraphX 提供了 PageRank 和 Louvain 社区发现的图计算算法,允许用户通过提交 Spark 任务的形式执行算法应用...此外,用户也可以通过 Spark Connector 编写 Spark 程序调用 GraphX 自带的其他图算法,如 LabelPropagation、ConnectedComponent 等。...,如红色社区和浅绿色社区之间通过(8,11)、(10,11)、(10,13)相连,所以两个社区之间边的权重为 3。...21min(PageRank 算法执行时间) Louvain 在一亿数据集上的执行时间为 1.3h(Reader + Louvain 算法执行时间) 如何使用 Nebula Graph 的算法 下载...:https://github.com/apache/spark/tree/master/graphx Spark-connector:https://github.com/vesoft-inc/nebula-java

    2.6K30

    Spark 生态系统组件

    · Spark Core 提供了多种运行模式,不仅可以使用自身运行模式处理任务,如本地模式、Standalone,而且可以使用第三方资源调度框架来处理任务,如YARN、MESOS 等。...Spark SQL 的特点如下: · 引入了新的RDD 类型SchemaRDD,可以像传统数据库定义表一样来定义SchemaRDD。 SchemaRDD 由定义了列数据类型的行对象构成。...· 在应用程序中可以混合使用不同来源的数据,如可以将来自HiveQL的数据和来自SQL的数据进行Join 操作。...跟其他分布式图计算框架相比,GraphX 最大的优势是:在Spark 基础上提供了一栈式数据解决方案,可以高效地完成图计算的完整的流水作业。...逻辑上,所有图的转换和操作都产生了一个新图;物理上,GraphX 会有一定程度的不变顶点和边的复用优化,对用户透明。

    1.9K20

    图解Spark Graphx基于connectedComponents函数实现连通图底层原理

    原创/朱季谦 按照官网的介绍,NebulaGraph Algorithm是一款基于GraphX 的 Spark 应用程序,通过提交 Spark 任务的形式,使用完整的算法工具对 NebulaGraph...通俗而言,就是基于NebulaGraph Algorithm,通过配置读取出存储在NebulaGraph的数据源,然后转换成Graphx图结构(具备顶点和边的数据集),再结合Spark Graphx提供的算法...文中提到曾在一张被提取出来的关系网中,计算出一个热点手机号被五六十个其他用户设置为家庭联系人手机号——这样关联数量异常的情况,往往很可能就存在团伙欺诈。...在现实生活里,这两个子图就相当某个社区里的关系网,在Spark Graphx里,经常需要处理这类关系网的操作,那么,在一个图里如何得到各个子图的数据呢?...这时,就可以使用到Spark Graphx的connectedComponents函数,网上关于它的介绍,基本都是说它是Graphx三大图算法之一的连通组件。

    48150

    大数据开发:Spark入门详解

    一.关于Spark的概述 我们可以了解到,当前,MapReduce编程模型成为了一种比较主流的分布式编程模型,并且它也极大地方便了编程人员在不会分布式并行编程的情况下,能够将自己的程序运行在分布式系统上...简单的来讲的话,它其实就是一个由顶点和有方向性的边构成的图,然后他可以其中从任意的一个顶点去出发,但是呢又没有路径可以将其带回到出发的顶点。...而我们可以知道Spark SQL 支持多种数据源,比 如 Hive 表、Parquet 以及 JSON 等。...四.Spark生态圈介绍 Spark力图整合机器学习(MLib)、图算法(GraphX)、流式计算(Spark Streaming)和数据仓库(Spark SQL)等领域,通过计算引擎Spark,弹性分布式数据集...可以实现即席查询,Spark Streaming可以处理实时应用,MLib可以实现机器学习算法,GraphX可以实现图计算,SparkR可以实现复杂数学计算。

    91610
    领券