hadoop - 在HDFS上存储graphx顶点并稍后加载

标签 hadoop apache-spark spark-graphx

我创建一个RDD:
val verticesRDD: RDD[(VertexId, Long)] = vertices
我可以检查它,一切看起来还不错:

verticesRDD.take(3).foreach(println)
(4000000031043205,1)
(4000000031043206,2)
(4000000031043207,3)

我通过以下方式将此RDD保存到HDFS:
verticesRDD.saveAsObjectFile("location/vertices")
然后,我尝试读取此文件以确保其有效:
val verticesRDD_check = sc.textFile("location/vertices")
这很好,但是当我尝试检查时,出了点问题。
verticesRDD_check.take(2).foreach(println)
    SEQ!org.apache.hadoop.io.NullWritable"org.apache.hadoop.io.BytesWritablea��:Y4o�e���v������ur[Lscala.Tuple2;.���O��xp
srscala.Tuple2$mcJJ$spC�~��f��J _1$mcJ$spJ  _2$mcJ$spxr
                                                           scala.Tuple2�}��F!�L_1tLjava/lang/Object;L_2q~xppp5���sq~pp5���sq~pp5���sq~pp5���sq~pp5���esq~pp5���hsq~pp5��୑sq~pp5���sq~pp5���q    sq~pp5��ஓ

我如何使用saveAsObjectFile保存RDD是否存在问题?还是通过textFile读取?

最佳答案

读回时,需要指定类型。

val verticesRDD : RDD[(VertexId, Long)] = sc.objectFile("location/vertices")

关于hadoop - 在HDFS上存储graphx顶点并稍后加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40972896/

相关文章:

hadoop - 如何在带有某些列作为分区的配置单元中加载csv数据?

spring - 在 hadoop 2.x 中从 spring 运行一个 distcp 作业

hadoop - 在NetBeans中安装KarmaSphere插件

python - PySpark 根据名称将列表分解为多列

python - 如何在IPython Notebook上运行GraphX?

neo4j - Spark GraphX 运行时查询

python - Spark 属性错误 : 'SparkContext' object has no attribute 'map'

scala - Spark Streaming 1.6.0 中检查点/WAL 的可靠性问题

scala - Spark 提供 DataFrame groupBy 中所有列的列表

apache-spark - Spark - GraphX - 缩放连接组件