Spark原理与代码实例讲解 2
import org.apache.spark.{SparkConf, SparkContext}
object Example2 {
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setAppName("Example2")
val sc = new SparkContext(conf)
// 加载文本文件
val inputRDD = sc.textFile("hdfs://path/to/input/directory")
// 将每一行按空格分割成单词
val wordsRDD = inputRDD.flatMap(_.split(" "))
// 将单词转换为(word, 1)的键值对
val pairsRDD = wordsRDD.map(word => (word, 1))
// 按单词进行统计,相当于SQL中的groupBy和sum操作
val wordCountsRDD = pairsRDD.reduceByKey(_ + _)
// 将结果保存到HDFS上
wordCountsRDD.saveAsTextFile("hdfs://path/to/output/directory")
// 停止SparkContext
sc.stop()
}
}
这段代码展示了如何使用Spark进行词频统计。它首先设置了Spark应用程序的配置,然后创建了一个SparkContext。接着,它读取了一个文本文件,并将其转换为单词,然后使用reduceByKey
来进行词频统计,最后将结果保存到HDFS上。这个过程是学习Spark编程的一个很好的入门示例。
评论已关闭