GraphX

Graphx处理janusGraph数据实现

别来无恙 提交于 2019-12-01 17:09:48
声明: 此方案是在spark直接执行gremlinSQL方案实现受阻的情况下的备选方案,不涉及工作机密,不存在泄密可能,纯属个人思考,希望抛砖引玉 方案: 将gremlinSql的查询结果转化为startGraph,然后转写到HDFS,spark读取hdfs的starGraphJSon构建graphx可用的图,然后就可以调用graphx丰富的图计算算法;从而将实现graphX操作janusgraph的目的 1. gremlinSql的查询结果转换成starGraphJson 由于org.apache.tinkerpop.gremlin.structure.io.graphson.GraphSONWriter保存的graphSon格式无法满足需求,所以将查询出的带path的点边数据自己转换成单点图的json结构,转化方法如下,然后存到hdfs,存储方法不再赘述。 public StringBuilder generatorStarGraphJson(Vertex vertex, Edge edge, StringBuilder starGraphJson){ String inVId; String outVId; String VId; starGraphJson.append("{").append("\"id\":"+vertex.id()+","+"\"label\":\""

spark graphx图计算

眉间皱痕 提交于 2019-11-30 03:32:33
一、使用 graph 做好友推荐 import org.apache.spark.graphx.{Edge, Graph, VertexId} import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} //求共同好友 object CommendFriend { def main(args: Array[String]): Unit = { //创建入口 val conf: SparkConf = new SparkConf().setAppName("CommendFriend").setMaster("local[*]") val sc: SparkContext = new SparkContext(conf) //点的集合 //点 val uv: RDD[(VertexId,(String,Int))] = sc.parallelize(Seq( (133, ("毕东旭", 58)), (1, ("贺咪咪", 18)), (2, ("范闯", 19)), (9, ("贾璐燕", 24)), (6, ("马彪", 23)), (138, ("刘国建", 40)), (16, ("李亚茹", 18)), (21, ("任伟", 25)), (44, ("张冲霄", 22))

Spark 数据分析导论-笔记

时光怂恿深爱的人放手 提交于 2019-11-29 21:27:19
Spark Core Spark Core 实现了Spark 的基本功能,包含 任务调度 、 内存管理 、 错误恢复 、与 存储系统交互 等模块。 Spark Core 中还包含了 对弹性分布式数据集(resilient distributed dataset,简称RDD)的API 定义。 RDD 表示分布在多个计算节点上可以并行操作的 元素集合 , 是Spark 主要的编程抽象 。 Spark Core 提供了创建和操作这些集合的多个API。 Spark SQL Spark SQL 是Spark 用来 操作结构化数据的程序包 。 使用SQL或者Apache Hive 版本的SQL 方言(HQL)来查询数据。 Spark SQL 支持多种数据源,比如Hive 表、Parquet 以及JSON 等。 除了为Spark 提供了一个SQL 接口, Spark SQL 还支持开发者将SQL 和传统的RDD 编程的数据操作方式相结合, 不论是使用Python、Java 还是Scala, 开发者都可以在单个的应用中同时使用SQL 和复杂的数据分析。 通过与Spark所提供的丰富的计算环境进行如此紧密的结合, Spark SQL 得以从其他开源数据仓库工具中脱颖而出。 Spark SQL 是在Spark 1.0 中被引入的。 Spark Streaming Spark Streaming

SPARK 知识地图

泪湿孤枕 提交于 2019-11-28 23:20:16
1 Table of Contents spark 总揽 spark core spark sql spark mllib spark graphx spark streaming 2 spark 总揽 spark官网:https://spark.apache.org/ spark 资料集中营,覆盖各种视频,论文,博客,ppt: https://spark.apache.org/documentation.html spark jira:https://issues.apache.org/jira/browse/SPARK/?selectedTab=com.atlassian.jira.jira-projects-plugin:issues-panel spark developer list: http://apache-spark-developers-list.1001551.n3.nabble.com/ spark user list:http://apache-spark-user-list.1001560.n3.nabble.com/ spark Screencast Tutorial Videos: https://spark.apache.org/screencasts/1-first-steps-with-spark.html https://spark

Spark GraphX图形数据分析

时光总嘲笑我的痴心妄想 提交于 2019-11-26 21:08:36
Spark GraphX图形数据分析 图(Graph)的基本概念 图是由顶点集合(vertex)及顶点间的关系集合(边edge)组成的一种网状数据结构 图数据很好的表达了数据之间的关系 处理的是有向图 图的术语-4 出度:指从当前顶点指向其他顶点的边的数量 入度:其他顶点指向当前顶点的边的数量 图的经典表示法(了解) 邻接矩阵 1、对于每条边,矩阵中相应单元格值为1 2、对于每个循环,矩阵中相应单元格值为2,方便在行或列上求得顶点度数 Spark GraphX 简介 GraphX特点 1)基于内存实现了数据的复用与快速读取 2)通过弹性分布式属性图(Property Graph)统一了图视图与表视图 3)与Spark Streaming、Spark SQL和Spark MLlib等无缝衔接 GraphX核心抽象 弹性分布式属性图 顶点和边都是带属性的有向多重图 顶点要带边,两个边构成编号 一份物理存储,两种视图(table view,Graph view) GraphX API Graph[VD,ED] VD:顶点的数据类型(二元组) var rdd=sc.makeRDD(List((1L,"A"),(2L,"B"))) ED:边的数据类型 方法一:spark API var spark=SparkSession.builder().master("local[2]")

腾讯开源进入爆发期,Plato助推十亿级节点图计算进入分钟级时代

天大地大妈咪最大 提交于 2019-11-26 10:01:48
腾讯开源再次迎来重磅项目,14日,腾讯正式宣布开源高性能图计算框架Plato,这是在短短一周之内,开源的第五个重大项目。 相对于目前全球范围内其它的图计算框架,Plato可满足十亿级节点的超大规模图计算需求,将算法计算时间从天级缩短到分钟级,性能全面领先领先于其它主流分布式图计算框架,并且 打破了原本 动辄 需要数百台服 务 器的 资 源瓶 颈 , 现 在,最少只需要十台服 务 器即可完成 计 算 。 腾讯Plato团队负责人于东海表示:“Plato已经支持腾讯内部包括微信在内的众多核心业务,尤其是为腾讯超大规模社交网络图数据的各类计算提供支撑,解决了现有其他计算框架无法在有限资源和有限时间内完成计算的难点。Plato不仅为腾讯创造了巨大的业务价值,开源后还将持续推动图计算技术和行业的协同发展,加速创新。” 实际上,图计算的“图”并不是指普通的图像和照片,而是用于表示对象之间关联关系的一种抽象数据结构,图计算就是以图作为数据模型来表达问题并予以解决的过程。图计算可以将不同来源、不同类型的数据融合到同一个图里进行分析,得到原本独立分析难以发现的结果,因此成为社交网络、推荐系统、网络安全、文本检索和生物医疗等领域至关重要的数据分析和挖掘工具。 Plato是腾讯内部图计算TGraph团队整合内部资源自主研发的一款高性能图计算框架,取名Plato是为了致敬伟大的数学家柏拉图