从RDD中提取(1)
如下所示:
res2: Array[(String, String)] = Array((905067378709,905458844980))
有向图的解法
让我们假设您有以下RDD对保持边:
val data: RDD[(String, String)] = sc.parallelize(
Seq(
("905067378709", "905458844980"),
("905067378709", "905458844980"),
("905458844980", "905067378709"),
("905067378709", "905458844980"),
("905458844982", "905458844984"),
("905067378709", "905458844984"),
("905067378712", "905067378709")))
创建以下RDD[(VertexId,VertexId)]:
val edgesRDD: RDD[(VertexId, VertexId)] = data.map { case (a, b) => (a.toLong, b.toLong) }
val graph = Graph.fromEdgeTuples(edgesRDD, 1)
// to print
val vert: VertexRDD[Int] = graph.vertices
vert.foreach { println }
val edg: EdgeRDD[Int] = graph.edges
edg.foreach { println }
val subgraph = graph.partitionBy(PartitionStrategy.CanonicalRandomVertexCut)
.groupEdges((a, b) => a + b)
// To print
val vert2: VertexRDD[Int] = subgraph.vertices
vert2.foreach { println }
val edg2: EdgeRDD[Int] = subgraph.edges
edg2.foreach { println }
边缘(905067378709,905458844980,3)边缘出现3次
边缘(905458844980,905067378709,1)
边缘(905458844982、905458844984、1)
我必须将Scala代码转换为python。 scala代码将string的RDD转换为case类的RDD。代码如下: 可以在PySpark中实现吗?我尝试使用以下代码,但出现错误 错误Py4JJavaError:调用z:org时出错。阿帕奇。火花应用程序编程接口。蟒蛇蟒蛇。收集和服务:组织。阿帕奇。火花SparkException:作业因阶段失败而中止:阶段21.0中的任务0失败1次,最近的失败:
问题内容: 我正在尝试使用ApachePOI在XLSX电子表格中创建条形图,但是Excel一直在说内容存在问题,并在尝试打开文件时删除该图。这是我要执行的操作的完整代码: 谁能帮助我找到(并且很好地解决)这个问题?提前致谢! 问题答案: 对于不了解背景的用户,ApachePOI仅支持ScatterCharts和LineCharts为什么?。原则上描述了如何进行。 就像我说的。首先进行 最简单 的条
我一直在遵循教程,并读取了我自己的数据,这些数据被组合成[array[String],int],因此,例如,我的顶点是: 例如(3999,Array(17,Low,9)) 我的边缘是: 因此,您最终会得到一个匹配或不匹配数量的计数列表。 我遇到的问题是使用mapReduceTriplets应用任何函数,我对scala很陌生,所以这可能非常明显,但在graphx教程中有一个示例,它使用了一个格式为g
如有任何建议或帮助,将不胜感激。 曼迪
我不能处理230m边的图形。我克隆了Apache.Spark,构建了它,然后在Cluster上试用。 而且,收集所有的顶点和边来计算它们也不是一个好主意。这样做很容易:和