spark graphx joinvertices和outerjoinvertices简介
2017-04-19 16:59
295 查看
spark有个graphx的功能,能够处理图类型数据
先介绍一下graphx中的基本结构,其中有vertex 和edge
vertex:包括点和属性,也就是类似于(id, attr)
edge:包括原点, 目标点, 边属性,类似于(src, dst, attr)
这里介绍的是joinvertices和outerjoinvertices, 都是对顶点进行的操作,所以不涉及边
joinvertices:
vecRDD1.join(vecRDD2) 得到的结果是,如果是两个RDD都包含的顶点的话,那么根据map函数来输出结果,比如:
tmgraph.joinVertices(tmgraph2)((vid, old, vdata) = > vdata)
这里的vid是tmgraph2里面的点, vdata是相应的属性,这样写就会用新属性覆盖老属性
如果单是在tmgraph中存在的点的话,那么会保留原属性, 单在tmgraph2中出现的点应该是不会处理(这里我也不太确定)
outerjoinvertices:
这个操作其实跟上面的类似,关键就在于对只在tmgraph中出现的点的处理上
用这个方法join的话应该会把这样的点属性设置为null
所以这样join的话就有点leftjoin的感觉
先介绍一下graphx中的基本结构,其中有vertex 和edge
vertex:包括点和属性,也就是类似于(id, attr)
edge:包括原点, 目标点, 边属性,类似于(src, dst, attr)
这里介绍的是joinvertices和outerjoinvertices, 都是对顶点进行的操作,所以不涉及边
joinvertices:
vecRDD1.join(vecRDD2) 得到的结果是,如果是两个RDD都包含的顶点的话,那么根据map函数来输出结果,比如:
tmgraph.joinVertices(tmgraph2)((vid, old, vdata) = > vdata)
这里的vid是tmgraph2里面的点, vdata是相应的属性,这样写就会用新属性覆盖老属性
如果单是在tmgraph中存在的点的话,那么会保留原属性, 单在tmgraph2中出现的点应该是不会处理(这里我也不太确定)
outerjoinvertices:
这个操作其实跟上面的类似,关键就在于对只在tmgraph中出现的点的处理上
用这个方法join的话应该会把这样的点属性设置为null
所以这样join的话就有点leftjoin的感觉
相关文章推荐
- Spark学习笔记:joinVertices & outJoinVertices
- Spark入门实战系列--9.Spark GraphX介绍及实例
- Spark 中的join方式(pySpark)
- ERROR InsertIntoHadoopFsRelationCommand: Aborting job. ...please set spark.sql.crossJoin.enabled
- Finding all possible simple paths (paths without cycles) between two vertices in a graph
- spark graphx 实现图的一度正反向搜索,二度正反向搜索
- 运行spark官方的graphx 示例 ComprehensiveExample.scala报错解决
- SparkSQL – Join分析
- GraphLab Integration with Spark Open Source Release
- 对spark dataframe join之后的列值NULL值进行填充为指定数值的操作
- Spark SQL 之 Join 实现
- spark join
- Spark and SPARQL; RDF Graphs and GraphX
- IMF SparkSQLwithJoin 测试sparksql
- Spark算子:RDD键值转换操作(4)–cogroup、join
- Spark SQL 之 Join 实现
- Apache Spark 2.2.0 中文文档 - GraphX Programming Guide | ApacheCN
- 第七章:在Spark集群上使用文件中的数据加载成为graph并进行操作(2)
- spark join shuffle 数据读取的过程
- spark graphx实现共同好友的聚合