在 Spark GraphX 中更新节点属性时选择什么最佳结构?

2023-12-25

我有一段时间在寻找一种更新 GraphX 中节点属性的方法。我正在研究一个由节点和节点属性组成的图。例如 (1,(2,true))。在此示例中,1 是节点 ID,2 是节点的标签,true 表示节点已被访问。我已经使用 GraphLoader 加载了图表,并通过 RDD 制作了分布式图表。

我为每个节点使用的结构如下:

case class nodes_properties(label: Int, isVisited: Boolean = false)
      var work_graph = graph.mapVertices { case (node, property) => nodes_properties(node.toInt, false) }.cache()

当我想更新节点属性(例如其标签)时,我使用以下结构:

work_graph = work_graph.mapVertices((vid: VertexId, v: nodes_properties) => {
              if (vid == my_node) nodes_properties(newLabel,true)
              else v
            })

这个结构满足了我的要求,但正如我所见,它的计算成本非常高,仅对于具有 30000 个节点的图来说,大约需要 4 分钟,而当我使用 MATLAB 执行相同操作时,大约需要 25 秒。

Question:在算法过程中,有没有好的结构或者有效且理想的方法来更新图中节点的属性?这对我来说确实是一个瓶颈,我无法解决这个问题。

我应该提到该算法具有迭代性质,并且在每次迭代时我需要根据某些条件更新节点属性。

NOTE: i use unpersistVertices() and graph.checkpoint()但我的这个方法在更新节点属性方面非常耗时!


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Spark GraphX 中更新节点属性时选择什么最佳结构? 的相关文章

  • 错误:协变类型 A 出现在逆变位置

    我试图写一个不可变的Matrix A 班级 我希望该类是协变的A但是当我把 在 前面A编译器开始抱怨类中的某些操作 以下是我的相关子集Matrix类 实际类比以下子集大 5 倍左右 class Matrix A private val co
  • Scala 和变量中的模式匹配

    我是 Scala 新手 有点想知道模式匹配是如何工作的 想象一下我有以下内容 case class Cls i Int case b Cls i gt Ok case e Cls gt Ok case f Cls gt Ok case s
  • fetchsize和batchsize对Spark的影响

    我想通过以下方式控制 RDB 的读写速度Spark直接 但标题已经透露的相关参数似乎不起作用 我可以得出这样的结论吗fetchsize and batchsize我的测试方法不起作用 或者它们确实会影响阅读和写作方面 因为测量结果基于规模是
  • 运行具有外部依赖项的 Scala 脚本

    我在 Users joe scala lib 下有以下 jar commons codec 1 4 jar httpclient 4 1 1 jar httpcore 4 1 jar commons logging 1 1 1 jar ht
  • 使用 scala 在 Flink 中进行实时流预测

    弗林克版本 1 2 0斯卡拉版本 2 11 8 我想使用 DataStream 来使用 scala 中的 flink 模型进行预测 我在使用 scala 的 flink 中有一个 DataStream String 其中包含来自 kafka
  • 玩:将表单字段绑定到双精度型?

    也许我只是忽略了一些明显的事情 但我无法弄清楚如何将表单字段绑定到 Play 控制器中的双精度型 例如 假设这是我的模型 case class SavingsGoal timeframeInMonths Option Int amount
  • 如何获取 Kafka 偏移量以进行结构化查询以进行手动且可靠的偏移量管理?

    Spark 2 2引入了Kafka的结构化流源 据我了解 它依赖 HDFS 检查点目录来存储偏移量并保证 恰好一次 消息传递 但是旧码头 比如https blog cloudera com blog 2017 06 offset manag
  • Spark 1.3.1 上的 Apache Phoenix(4.3.1 和 4.4.0-HBase-0.98)ClassNotFoundException

    我正在尝试通过 Spark 连接到 Phoenix 并且在通过 JDBC 驱动程序打开连接时不断收到以下异常 为简洁起见 下面是完整的堆栈跟踪 Caused by java lang ClassNotFoundException org a
  • 分析 sbt 构建

    我的 sbt 构建需要很长时间 它又大又复杂 很难知道从哪里开始清理 看起来 sbt 保留了很多关于构建结构的元数据 包括相互依赖关系 命名任务 范围界定等 有了所有这些元数据 似乎很容易跳入并测量每个不同任务 及其范围 花费的时间 在代码
  • 在 Spark 中计算逻辑回归系数的标准误差

    我知道这个问题之前已经被问过here https stackoverflow com questions 37816701 calculating standard error of estimate wald chi square sta
  • 如何在spark Streaming中定期更新rdd

    我的代码是这样的 sc SparkContext ssc StreamingContext sc 30 initRDD sc parallelize path to data lines ssc socketTextStream local
  • scala play框架如何对异步控制器进行单元测试

    使用 Scala play 2 5 版并尝试遵循以下文档中的单元测试控制器指南 https www playframework com documentation 2 5 x ScalaTestingWithScalaTest https
  • 如何在 apache Spark 作业中执行阻塞 IO?

    如果当我遍历 RDD 时 我需要通过调用外部 阻塞 服务来计算数据集中的值怎么办 您认为如何才能实现这一目标 值 Future RDD Double Future sequence tasks 我尝试创建一个 Futures 列表 但由于
  • Scalatest PlusPlay Selenium 无法调整窗口大小

    对此已经研究了一段时间 我似乎找不到使用 scalatest plus 调整窗口大小的方法 我发现在线搜索或文档的唯一方法http doc scalatest org 2 1 5 index html org scalatest selen
  • 如何定义与更高类型类型(类型构造函数)绑定的上下文

    我尝试过以下方法 def test Option T Ordering value1 Option T value2 Option T val e implicitly Ordering Option T compare value1 va
  • Spark中如何获取map任务的ID?

    Spark中有没有办法获取map任务的ID 例如 如果每个映射任务都调用用户定义的函数 我可以从该用户定义的函数中获取该映射任务的 ID 吗 我不确定您所说的地图任务 ID 是什么意思 但您可以使用以下方式访问任务信息TaskContext
  • 如何访问 Scala XML 中的父元素

    The scala xml包表示带有标记树节点的 XML 但是这棵树在 Scala 2 7 中是单向的吗 因为似乎没有办法访问Elem给定的父级Elem 这似乎同样适用于父母Document 例如 在 XOM 中你有getParent an
  • 如何在SparkR中进行map和reduce

    如何使用 SparkR 进行映射和归约操作 我能找到的只是有关 SQL 查询的内容 有没有办法使用 SQL 进行映射和减少 See 写入从 SparkR map 返回的 R 数据帧 https stackoverflow com quest
  • 为什么我们需要 scala 中的特征?

    所以 我试图制作一个 Finagle 服务器 与哨兵交谈 不重要 并偶然发现了一个案例 我需要从两个继承classes 不是特质 同时 我们称它们为class SentryHandler extends Handler and class
  • Spark 数据帧:根据另一列的值提取一列

    我有一个包含带有连接价目表的交易的数据框 paid currency EUR USD GBP 49 5 EUR 99 79 69 客户已支付 49 5 欧元 如 货币 列中所示 我现在想将支付的价格与价目表中的价格进行比较 因此 我需要根据

随机推荐

  • 从 .NET 中的 app.config 或 web.config 读取设置

    我正在开发一个 C 类库 它需要能够从web config or app config文件 取决于 DLL 是从 ASP NET Web 应用程序还是 Windows 窗体应用程序引用 我发现 ConfigurationSettings A
  • 使用 VBA Excel 将范围内的单元格值增加 1

    我目前正在尝试实现插入新行值和自动复选框插入器 我目前将以下代码分布在不同的按钮上 因此分布在不同的子按钮上 我已将需要增加 1 个单元格的关键信息加粗 这将在单击 InsertNewBill 按钮后发生 Private Sub Inser
  • 错误:E0708:E0708:无效转换

    使用这个tutorial https blogs oracle com datawarehousing entry building simple workflows in oozie我为配置单元脚本创建了工作流程 但当我运行以下命令时出现
  • kotlin 中的全局对象声明

    如何在全局中声明对象kotlin就像在java中一样TextView tv 或者在不同方法 函数中调用相同变量的任何方法 override fun onCreate savedInstanceState Bundle super onCre
  • 如何设置即使在打瞌睡模式下也能工作的重复闹钟?

    我知道 setExactAndAllowWhileIdle 即使在 Doze 模式下也会调用警报 但如何让它每天重复 因为没有 setRepeatingAndAllowWhileIdle 类型的方法 None
  • Web API 2 项目和 MVC 5 网站项目在同一域中

    使用的技术 BreezeJS OData 网络应用程序接口2 MVC 5 集成开发环境 Visual Studio 2013 我一直在考虑在一个解决方案中拥有一个 Web API 项目和一个单独的网站项目的想法 我的 Web API 2 项
  • Java 8 Base64 JWT 令牌转换为 JSON

    因此 我在网上和 StackOverflow 上对此进行了一些研究 并且尝试了许多我发现的建议 问题是我正在登录我们的一项运行良好的 Oauth2 服务 我获得了 Oath2 JWT 令牌 我知道这是 Base64 编码的 我可以将令牌放入
  • 有没有办法在 mongoDB 中将 $exists 与 $expr 一起使用?

    我是 mongoDB 的新手 我需要在 mongoDB 中将 exists 与 expr 一起使用 我尝试了以下操作 lookup as collectionDet from collection let userId userId pip
  • 如何在 nextflow 工作流程中正确格式化“pod.securityContext”指令?

    我正在尝试配置podNextflow 流程中的指令 文档在这里 https www nextflow io docs latest process html process pod 我正在尝试遵循解决方案在这个SO问题中提供 https s
  • 如何在Powerpoint 2007 VBA中检测主题字体?

    有谁知道如何使用 VBA 检测 Powerpoint 2007 幻灯片对象中主题字体的使用 如果有人看Shape TextFrame TextRange Font Name字体名称显示为简单名称 例如 Arial 无论字体是否指定为固定名称
  • 在地址栏中隐藏查询参数 - VueJS

    我正在使用 Vue js 2 我正在尝试创建一个链接 将我发送到另一个页面 这就是我所拥有的 div div
  • 可以在亚马逊s3上存储json吗?

    我想将 json 文件存储到我的亚马逊 s3 然后使用 ajax 请求检索它 不幸的是 s3 似乎不允许内容类型 application json 我应该将文件保存为文本 纯文本 然后使用 php 添加标头 我已经找到问题了 我以错误的方式
  • 让 NSTimeZone 在单元测试中无故障

    因此 在 Objective C 中对日历代码进行单元测试时存在以下问题 时区包含有关夏令时的信息 因此您在夏天编写一个测试 预计 6 月 10 日的日出发生在早上 6 02 您的测试通过了 稍后 您在非 DST 时运行测试并且失败 因为当
  • Python 删除链表中的重复项

    我正在运行下面的代码以从链接列表中删除重复项 但我的代码仅在删除重复项之前打印链接列表 一旦调用removeDup方法 它就不会打印任何内容 下面是我的代码 请告诉我我错过了什么 class Node def init self data
  • 如何在 Chrome 开发工具中查找事件监听器?

    我知道将鼠标悬停在一个元素上会导致另一个元素添加一个新类 如何检查此 eventListener 在 Chrome 上的位置和内容 这Event ListenersChrome 中的选项卡仅列出文档上的一些侦听器 而不是任何特定元素 要查看
  • FXML 中的 JavaScript 脚本

    我正在尝试从 FXML 运行以下示例参考 https docs oracle com javase 8 javafx api javafx fxml doc files introduction to fxml html script bl
  • 生成随机字符串[重复]

    这个问题在这里已经有答案了 可能的重复 时间 2019 03 17 标签 c randomstringgenerator https stackoverflow com questions 1122483 c sharp random st
  • 使用 externalTrafficPolicy: Local 在 GKE 上是否可以实现无中断滚动更新?

    我有一个 GKE 集群 1 12 10 gke 17 我正在运行nginx 入口控制器 https github com kubernetes ingress nginx with type LoadBalancer 我已经设置了exter
  • 序列化多个对象

    我的序列化代码是这样的 public class slab public int lowerlimit get set public int upperlimit get set public int percentage get set
  • 在 Spark GraphX 中更新节点属性时选择什么最佳结构?

    我有一段时间在寻找一种更新 GraphX 中节点属性的方法 我正在研究一个由节点和节点属性组成的图 例如 1 2 true 在此示例中 1 是节点 ID 2 是节点的标签 true 表示节点已被访问 我已经使用 GraphLoader 加载