前年的文章,备份
spark自身不提供sortByKey的功能,但提供reduceByKey,groupByKey,combineByKey等功能。
SortByKey常用于构建倒排索引上。
比如原始数据结构为
(key1,4)
(key1,3)
(key1,7)
(key1,1)
需要转换成
(key1,(1,3,4,7))
我创建了一个简单的数据样本,保存到一个文件里sortByKey.txt。也可以自己通过parallelize随机生成
文件里的内容如下:
key1 2
key1 3
key2 54
key1 23
key2 12
key3 45
key3 5
key1 53
key2 4
key3 78
key3 17
key2 6
key1 70
key1 74
key2 45
key1 41
key2 14
使用spark完成这样的任务也很简单,代码如下:
import spark.SparkContext import spark.SparkContext._ object SortByKey { def main(args: Array[String]) { if (args.length == 0) { System.err.println("Usage: SortByKey [slices]") System.exit(1) } var slices = if (args.length > 2) args(1).toInt else 2 val spark = new SparkContext(args(0), "SortByKey Test") val file = spark.textFile(args(1), slices).map(line => (line.split(" ")(0), line.split(" ")(1).toInt)) val group = file.groupByKey()//收集 val sortPairs = group.map{p => val sortArray = p._2.sortWith(_ < _)//排序 (p._1, sortArray) } //验证排序效果 val first = sortPairs.first() println("key:"+first._1) println("value:"+first._2) first._2.foreach(println) } }
相关推荐
### Spark: 集群计算工作集模型与迭代学习算法的高效执行 #### 概述 在大数据处理领域,MapReduce及其变体在实施大规模数据密集型应用方面取得了巨大成功,尤其是在利用廉价集群进行分布式计算时。然而,这类系统...
spark源码:spark-master.zip。方便不能登录GitHub的小伙伴下载。如果实在需要留言,可以私下给。
Spark on Yarn是一种将Spark应用程序部署在Hadoop YARN资源管理器上的方法,它允许Spark充分利用YARN的资源管理和调度功能。在这个实验中,我们将详细探讨如何在Yarn模式下安装和部署Spark集群。 首先,我们需要...
mongodb-spark官方连接器,运行spark-submit --packages org.mongodb.spark:mongo-spark-connector_2.11:1.1.0可以自动下载,国内网络不容易下载成功,解压后保存到~/.ivy2目录下即可。
【Spark Standalone模式安装部署详解】 Spark是一款快速、通用且可扩展的大数据处理框架,它提供了高效的批处理、交互式查询、流处理等多种计算模式。在Standalone模式下,Spark可以独立于任何分布式资源管理系统...
Spark案例:电影推荐案例相关资料,数据
《Spark: The Definitive Guide: Big Data Processing Made Simple》是大数据处理领域的经典著作,由Databricks的创始人之一Michael Armbrust等专家撰写。这本书深入浅出地介绍了Apache Spark的核心概念、架构以及...
《深入理解Spark:核心思想及源码分析》这本书旨在帮助读者深入掌握Apache Spark这一大数据处理框架的核心原理与实现细节。Spark作为一个快速、通用且可扩展的数据处理系统,已经在大数据领域得到了广泛应用。它提供...
Spark: The Definitive Guide: Big Data Processing Made Simple 1st Edition Spark: The Definitive Guide: Big Data Processing Made Simple 1st Edition Spark: The Definitive Guide: Big Data Processing Made ...
HBase-SparkStreaming 从HBase表读取并写入HBase表的简单Spark Streaming项目 #Prereqs运行 创建一个要写入的hbase表:a)启动hbase shell $ hbase shell b)创建表create'/ user / chanumolu / sensor',{NAME =>'...
Apache Spark:Spark高级特性:DataFrame与Dataset.docx
Apache Spark:Spark项目实战:大数据分析案例.docx
Apache Spark:Spark项目实战:机器学习模型部署.docx
Spark 编程指南简体中文版 本资源为 Spark 编程指南简体中文版,涵盖了 Spark 的基本概念、数据处理、流处理、图形处理和 SQL 等方面的内容。以下是该资源中的知识点总结: Spark 基础 * Spark Shell:交互式 ...
《深入理解Spark:核心思想与源码分析》是一本针对大数据处理框架Spark的深度解析教材。这本书涵盖了Spark的全面知识,旨在帮助读者深入理解Spark的核心原理,并通过源码分析提升技术水平。以下是根据书名和描述提炼...
在深入分析给定文件的内容之前,我们首先要了解Apache Spark的发展历程,它是一个在大数据处理领域中极为重要的开源框架。首先,我们来回顾一下2015年Spark的发展情况,然后再展望2016年它的发展趋势。 Databricks...
基于spark大数据平台写的一些简单例子 关于spark平台的Streaming、sql、sparkMllib、spark写的一些简单的demo程序 这边可以直接将项目下载下来导入到eclipse或则Intellij IDE中,每一个程序都能单独执行,里面给出了...
Spark: svn co http://svn.igniterealtime.org/svn/repos/spark/trunk spark 辛辛苦苦从SVN上下载下来的SOURCE Spark 2.6.3 Spark: spark/trunk part001 第一部分
《Spark技术深度解析》 Spark,作为大数据处理领域的重要框架,以其高效、易用和弹性伸缩等特性,被广泛应用于大规模数据处理、实时计算、机器学习和图形处理等多个场景。本篇笔记将深入探讨Spark的核心概念、架构...
Spark: svn co http://svn.igniterealtime.org/svn/repos/spark/trunk spark 辛辛苦苦从SVN上下载下来的SOURCE Spark 2.6.3 Spark: spark/trunk part003 第三部分