7.3 读写 SequenceFile 文件

SequenceFile 文件是 Hadoop 用来存储二进制形式的 key-value 对而设计的一种平面文件(Flat File)。

Spark 有专门用来读取 SequenceFile 的接口。在 SparkContext 中,可以调用 sequenceFile[ keyClass, valueClass](path)

注意:SequenceFile 文件只针对 PairRDD

先保存一个 SequenceFile 文件

scala> val rdd1 = sc.parallelize(Array(("a", 1),("b", 2),("c", 3)))
rdd1: org.apache.spark.rdd.RDD[(String, Int)] = ParallelCollectionRDD[13] at parallelize at <console>:25

scala> rdd1.saveAsSequenceFile("hdfs://hadoop201:9000/seqFiles")

读取 SequenceFile 文件


scala> val rdd1 = sc.sequenceFile[String, Int]("hdfs://hadoop201:9000/seqFiles")
rdd1: org.apache.spark.rdd.RDD[(String, Int)] = MapPartitionsRDD[18] at sequenceFile at <console>:25

scala> rdd1.collect
res4: Array[(String, Int)] = Array((a,1), (b,2), (c,3))

注意: 需要指定泛型的类型 sc.sequenceFile[String, Int]

Copyright © 尚硅谷大数据 2019 all right reserved,powered by Gitbook
该文件最后修订时间: 2019-04-23 13:28:54

results matching ""

    No results matching ""