我有一个以这种方式创建的Spark Graph
val graph = Graph(vertices, edges, defaultArticle).cache
我的顶点是RDD[(Long, (String, Option[String], List[String], Option[String])]
,我的边是RDD[Edge[Long]]
如何将此图表/边缘/顶点保存到Hive /文本文件/其他任何内容,以及如何将其读回?我查看了Spark SQL doc和Spark核心文档,但我仍然没有成功。如果我saveAsTextFile()
,那么当我读回它时,它就是RDD[String]
,这不是我需要的......
编辑: Daniel提供了一个保存为目标文件的答案...我仍然有兴趣了解如何将上述对象保存和读取为Hive表。谢谢!
答案 0 :(得分:1)
而不是rdd.saveAsTextFile()
/ sc.textFile()
使用rdd.saveAsObjectFile()
/ sc.objectFile()
。这将为每一行使用普通的Java序列化,存储为Hadoop SequenceFile。