【问题标题】:Spark: Export graph data to anything (Hive, text, etc)Spark:将图形数据导出到任何东西(Hive、文本等)
【发布时间】:2015-01-29 10:34:23
【问题描述】:

我有一个以这种方式创建的 Spark 图表

val graph = Graph(vertices, edges, defaultArticle).cache

我的顶点是RDD[(Long, (String, Option[String], List[String], Option[String])],我的边是RDD[Edge[Long]]

如何将此图形/边/顶点保存到 Hive/文本文件/其他任何内容,以及如何将其读回?我查看了 Spark SQL 文档和 Spark 核心文档,但仍然没有成功。如果我做saveAsTextFile(),那么当我读回它时,它就是RDD[String],这不是我需要的......

编辑: Daniel 提供了另存为对象文件的答案...我仍然有兴趣了解如何将上面的对象保存为 Hive 表并将其读取。谢谢!

【问题讨论】:

    标签: hadoop hive apache-spark rdd


    【解决方案1】:

    rdd.saveAsObjectFile()/sc.objectFile()代替rdd.saveAsTextFile()/sc.textFile()。这将对每一行使用正常的 Java 序列化,存储为 Hadoop SequenceFile。

    【讨论】:

    • 您必须为您的线路使用case class,然后使用 SparkSQL。我自己没有尝试过以这种方式给 Hive 写信,所以我无法提供代码示例。也许有人可以插话。
    猜你喜欢
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    • 2021-02-07
    • 2019-01-25
    • 2015-04-22
    • 1970-01-01
    相关资源
    最近更新 更多