作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是新来的 Spark
和 Scala
,我正在尝试执行一项简单的任务,即根据文本文件中的数据创建图形。
来自文档
https://spark.apache.org/docs/0.9.0/api/graphx/index.html#org.apache.spark.graphx.Graph$@fromEdges[VD,ED]%28RDD[Edge[ED]],VD%29%28ClassTag[VD],ClassTag[ED]%29:Graph[VD,ED]
tuples of vertices
创建一个图表.
v1 v3
v2 v1
v3 v4
v4
v5 v3
val myVertices = myData.map(line=>line.split(" ")) I get an RDD[Array[String]].
RDD[Array[String]]
转换成正确的格式,根据文档是 RDD[(VertexId, VertexId)]
(还有 VertexID
必须是 long 类型,我正在处理字符串)最佳答案
您可以通过多种方式从文本文件创建图形。
此代码从 创建一个图表Graph.fromEdgeTuples 方法
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.graphx.GraphLoader
import scala.util.MurmurHash
import org.apache.spark.graphx.Graph
import org.apache.spark.rdd.RDD
import org.apache.spark.graphx.VertexId
object GraphFromFile {
def main(args: Array[String]) {
//create SparkContext
val sparkConf = new SparkConf().setAppName("GraphFromFile").setMaster("local[*]")
val sc = new SparkContext(sparkConf)
// read your file
/*suppose your data is like
v1 v3
v2 v1
v3 v4
v4 v2
v5 v3
*/
val file = sc.textFile("src/main/resources/textFile1.csv");
// create edge RDD of type RDD[(VertexId, VertexId)]
val edgesRDD: RDD[(VertexId, VertexId)] = file.map(line => line.split(" "))
.map(line =>
(MurmurHash.stringHash(line(0).toString), MurmurHash.stringHash(line(1).toString)))
// create a graph
val graph = Graph.fromEdgeTuples(edgesRDD, 1)
// you can see your graph
graph.triplets.collect.foreach(println)
}
}
关于scala - 如何在 Spark Scala 中使用 Graph.fromEdgeTuples 从 CSV 文件创建图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32396477/
我对 spark 很陌生,但我想根据从 Hive 表中获得的关系创建一个图表。我发现了一个函数,它应该允许在不定义顶点的情况下执行此操作,但我无法让它工作。 我知道这不是一个可重复的例子,但这是我的代
我是新来的 Spark和 Scala ,我正在尝试执行一项简单的任务,即根据文本文件中的数据创建图形。 来自文档 https://spark.apache.org/docs/0.9.0/api/gra
我是一名优秀的程序员,十分优秀!