Spark:将图形数据导出为任何内容(Hive,text等)

时间:2015-01-29 10:34:24

标签: hadoop hive apache-spark rdd

我有一个以这种方式创建的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表。谢谢!

1 个答案:

答案 0 :(得分:1)

而不是rdd.saveAsTextFile() / sc.textFile()使用rdd.saveAsObjectFile() / sc.objectFile()。这将为每一行使用普通的Java序列化,存储为Hadoop SequenceFile。