gpt4 book ai didi

scala - 使用 Apache Spark 从 HDFS 序列文件生成键值对

转载 作者:行者123 更新时间:2023-12-02 09:36:03 25 4
gpt4 key购买 nike

从 HDFS 序列文件中生成键值对的最佳方法是什么?我之所以问,是因为我必须对序列文件进行排序。除非您的 RDD 是键值对的形式,否则 sortByKey 方法不可用。我正在使用 Apache Spark 1.0.2 和 HDFS 2.5.0 。

最佳答案

来自 Spark 文档:

For SequenceFiles, use SparkContext’s sequenceFile[K, V] method where K and V are the types of key and values in the file. These should be subclasses of Hadoop’s Writable interface, like IntWritable and Text. In addition, Spark allows you to specify native types for a few common Writables; for example, sequenceFile[Int, String] will automatically read IntWritables and Texts.

关键点是,您必须将 Hadoop 类型映射到 [String、Int、...] 并构建所需的 (k,v) rdd 才能应用 sortByKey 方法。

val file = sc.sequenceFile(input, classOf[Text], classOf[Text])
val map = file.map{case (k,v) => (k.toString(), v.toString())}
val sortedOutput = map.sortByKey(true)

关于scala - 使用 Apache Spark 从 HDFS 序列文件生成键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26163446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com