问题标签 [spark-graphx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
506 浏览

scala - 过滤包含不同案例类的集合

我已成功创建以下图表:

我的问题是,当它们是案例类时,如何过滤这些顶点属性?例如,如果我想过滤具有 BasketProperty 案例类作为其顶点属性且 Epoch 日期大于 1398900000 的顶点,我该怎么做?

我一直在尝试使用这样的东西:

但这显然是不正确的,因为 BasketProperty 不是 classthing 的成员。但是,我不知道如何进行。

0 投票
1 回答
120 浏览

apache-spark - Apache Spark 从字符串创建顶点

给定一个字符串

如何使用 Spark 以下列方式创建顶点?

“My-”、“yS”、“-Sp”、“Spa”、“par”、“ark”、“rk-”、“kA”、“-Ap”、“App”

这个问题可以并行化吗?

0 投票
2 回答
1802 浏览

scala - 使用边/顶点输入文件在 GraphX 中创建图形时出错

在 Spark graphX 中运行以下用于创建图形的代码时出现错误。我通过以下命令通过 spark-shell 运行它: ./bin/spark-shell -i ex.scala

输入:

代码:

错误:

0 投票
5 回答
21469 浏览

hadoop - Spark - 容器运行超出物理内存限制

我有一个由两个工作节点组成的集群。Worker_Node_1 - 64GB RAM Worker_Node_2 - 32GB RAM

背景摘要: 我正在尝试在 yarn-cluster 上执行 spark-submit 以在 Graph 上运行 Pregel 以计算从一个源顶点到所有其他顶点的最短路径距离并在控制台上打印值。实验:

  1. 对于具有 15 个顶点的小图,执行完成应用程序最终状态:成功
  2. 我的代码完美运行,并打印了 241 个顶点图的最短距离,将单个顶点作为源顶点,但存在问题。

问题: 当我深入研究日志文件时,任务在 4 分 26 秒内成功完成,但仍在终端上,它继续显示应用程序状态为正在运行,大约 12 分钟后任务执行终止说 -

我尝试过的事情:

  1. yarn.schedular.maximum-allocation-mb – 32GB
  2. mapreduce.map.memory.mb = 2048(以前是 1024)
  3. 尝试改变 --driver-memory 高达 24g

您能否为我如何配置资源管理器添加更多颜色,以便也可以处理大型图(> 300K 顶点)?谢谢。

0 投票
1 回答
311 浏览

scala - 如何基于属性在 RDD[(Long, Vertex)] 中的顶点之间创建链接?

我有一个用户:用户RDD[(Long, Vertex)]集合。我想在我的 Vertex 对象之间创建链接。规则是:如果两个顶点在一个选定的属性中具有相同的值 - 称之为 prop1,则存在链接。

我的问题是如何检查同一集合中的每一对。如果我做:

我得到了一个RDD[RDD[Any]]而不是一个RDD[(Long, Long)]预期的图表工作

0 投票
1 回答
2804 浏览

hadoop - Cloudera Manager - HDFS 可用空间健康问题疑难解答

我有一个由两台主机配置的集群 -

主机配置:

看来我正在运行的作业正在创建大量日志,而我的一个 hdfs 数据节点显示严重的健康问题为 -

hdfs 数据节点之一的严重健康问题 -

四件事:

  1. 如何清理这些日志并释放空间?从 /var/log/hadoop-hdfs 手动删除它们是个好主意吗?

hadoop-hdfs 状态

  1. 如上 /var/log/hadoop-hdfs 目录只有 610 MB,hdfs 中的空间在哪里被占用?

  2. 如何配置日志文件以定期删除?

  3. 我有 HDFS、Spark 和 YARN - MR2 服务启动并运行,它们都在创建自己的日志。我也想清理这些。

谢谢!

0 投票
0 回答
70 浏览

scala - 为什么 graph.degree 返回的值少于节点数

我在 Spark 中有一个使用 Graphx 的图表,例如:

结果是:

顶点数为 253,边数为 228

然后我 .cache() 网络并运行:

我最终拥有:

完成度数,我有 112 度值

所以我的问题是:为什么我没有为图中的每个节点提供学位结果?

0 投票
1 回答
130 浏览

scala - 如何使用 RDD 中另一个属性的值来检索一个属性的值

我有一个链接:JdbcRDD[String],其中包含以下形式的链接:

分别为每个链接的源和目标。我可以拆分每个字符串以检索唯一标识源节点和目标节点的字符串。然后我有一个 users:RDD[(Long, Vertex)] ,它包含我图中的所有顶点。每个顶点都有一个 nameId:String 属性和一个 nodeId:Long 属性。

我想从 stringId 中检索 nodeId,但不知道如何实现这个逻辑,在 Scala 和 Spark 中都是相当新的。我被这段代码困住了:

有了这个解决方案,我得到:

0 投票
0 回答
553 浏览

scala - 如何在Spark Cluster上执行一次将所有顶点作为源顶点的Pregel Shortest Path

我们的任务是使用 Pregel API 为 3lac 顶点找到最短路径。我们应该将每个顶点作为源顶点一次,并确定所有这些执行中的最短路径。我的代码如下所示,

}

从这段代码中,我必须从每个循环中读取最短路径,并从中确定最小值作为最终输出(这是未来的部分,我还没有编写相同的代码)。

现在这个当前代码适用于 15 节点图和 1112 节点图。但是当我尝试为 22k 节点图执行算法时,该算法针对 55 个源节点执行,然后因内存不足错误而停止。我们有一个两节点集群(1node - 64GB RAM,2node - 32GB RAM)

问题是,
1. 在 Spark 集群上如何处理 for 循环?我必须在代码中修改什么以优化代码吗?
2. 我正在尝试使用 unpersist 以便在每个循环中清除 RDD 并为每个循环创建新的。但是在执行 55 个节点后我仍然内存不足。应该怎么做才能对所有节点执行相同的操作?

0 投票
1 回答
1220 浏览

scala - Spark的Graphx中调用mapTriplets方法时如何修改顶点数据

Spark 的 Graphx 中的 mapTriplets 操作可以将三元组转换为其他形式,如定义所述:

我的数据是一个稀疏的二分图,每次迭代都会更新一条边的顶点数据。例如,这里是一条边,和(srcAttr, dstAttr, attr)的顶点将根据 进行修改。因此,我需要的是获取所有组合,并用于更新.srcAttrdstAttrattr(srcAttr, dstAttr, attr)attrvertices

Graphx 提供了mapTriplets可以转换所有 (srcAttr, dstAttr, attr) 组合的方法,但是我不知道在执行此方法时如何修改顶点。

那么,有没有什么策略可以在遍历所有边的时候修改顶点呢?