您的位置:首页 > 其它

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的感觉
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: