scala - 使用预凝胶寻找循环
问题描述
任务是使用 Scala pregel 找到一定大小 k 的循环,其中 k 是用户输入。但是,当找到一个循环时,我不知道应该在 pregel 中发送哪些消息。到目前为止,我尝试的是使用一个字符串,其中包含它通过的顶点列表并将其放入顶点属性中。如果 srcAttr 已经包含 dstId,则检测到一个循环。但是我不确定要获得循环总数后该怎么做。此外,如果它包含其他较小的循环,该任务还声明它不是一个循环。
解决方案
每个顶点向其邻居发送消息,其中包含 (1) 源顶点 id 和 (2) 消息要遍历的跳数(最初设置为 1)。
每个顶点在将 (2) 值加一后重新路由接收到的消息。
检查每条消息是否 msg.src_vid == msg.dst_id,并查看跳数
推荐阅读
- android - 如何在 android.bp 文件中添加 srcs 的相对路径:[]
- python - 从输出中删除字符代码
- angular - 定义 user.id 后可观察的创建发射
- azure - 如何获取构建管道的 YAML 代码?
- spring - 关于 spring-quartz beans 配置问题的问题。其中一个没有运行
- python - 在 Sagemaker 上使用 TensorFlow 进行训练没有名为“tf_container”的模块
- typescript - 函数定义参数中的大括号是什么?
- okta - 使用 Okta 进行保险柜身份验证
- php - apache 的 CORS 问题
- ssl - 带有 https 的码头服务器