`
yiihsia
  • 浏览: 67901 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Spark范例:SortByKey

阅读更多

前年的文章,备份

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学习 Spark: Cluster Computing withWorking Sets Matei

    ### Spark: 集群计算工作集模型与迭代学习算法的高效执行 #### 概述 在大数据处理领域,MapReduce及其变体在实施大规模数据密集型应用方面取得了巨大成功,尤其是在利用廉价集群进行分布式计算时。然而,这类系统...

    spark源码:spark-master.zip

    spark源码:spark-master.zip。方便不能登录GitHub的小伙伴下载。如果实在需要留言,可以私下给。

    Spark实验:On Yarn模式安装部署(带答案)1

    Spark on Yarn是一种将Spark应用程序部署在Hadoop YARN资源管理器上的方法,它允许Spark充分利用YARN的资源管理和调度功能。在这个实验中,我们将详细探讨如何在Yarn模式下安装和部署Spark集群。 首先,我们需要...

    org.mongodb.spark:mongo-spark-connector_2.11:1.1.0

    mongodb-spark官方连接器,运行spark-submit --packages org.mongodb.spark:mongo-spark-connector_2.11:1.1.0可以自动下载,国内网络不容易下载成功,解压后保存到~/.ivy2目录下即可。

    Spark实验:Standalone模式安装部署(带答案)1

    【Spark Standalone模式安装部署详解】 Spark是一款快速、通用且可扩展的大数据处理框架,它提供了高效的批处理、交互式查询、流处理等多种计算模式。在Standalone模式下,Spark可以独立于任何分布式资源管理系统...

    Spark案例:电影推荐

    Spark案例:电影推荐案例相关资料,数据

    Spark: The Definitive Guide: Big Data Processing Made Simple 英文.pdf版

    《Spark: The Definitive Guide: Big Data Processing Made Simple》是大数据处理领域的经典著作,由Databricks的创始人之一Michael Armbrust等专家撰写。这本书深入浅出地介绍了Apache Spark的核心概念、架构以及...

    深入理解Spark:核心思想及源码分析.pdf

    《深入理解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 Simple 1st Edition Spark: The Definitive Guide: Big Data Processing Made ...

    HBase-SparkStreaming:从HBase表读取并写入HBase表的简单Spark Streaming项目

    HBase-SparkStreaming 从HBase表读取并写入HBase表的简单Spark Streaming项目 #Prereqs运行 创建一个要写入的hbase表:a)启动hbase shell $ hbase shell b)创建表create'/ user / chanumolu / sensor',{NAME =&gt;'...

    Spark 编程指南简体中文版.pdf

    Spark 编程指南简体中文版 本资源为 Spark 编程指南简体中文版,涵盖了 Spark 的基本概念、数据处理、流处理、图形处理和 SQL 等方面的内容。以下是该资源中的知识点总结: Spark 基础 * Spark Shell:交互式 ...

    深入理解spark:核心思想与源码分析 高清版本

    《深入理解Spark:核心思想与源码分析》是一本针对大数据处理框架Spark的深度解析教材。这本书涵盖了Spark的全面知识,旨在帮助读者深入理解Spark的核心原理,并通过源码分析提升技术水平。以下是根据书名和描述提炼...

    Spark发展:回顾2015,展望2016

    在深入分析给定文件的内容之前,我们首先要了解Apache Spark的发展历程,它是一个在大数据处理领域中极为重要的开源框架。首先,我们来回顾一下2015年Spark的发展情况,然后再展望2016年它的发展趋势。 Databricks...

    SparkExample:Spark相关的一些例子,代码详细注释并赋予相关代码解析

    基于spark大数据平台写的一些简单例子 关于spark平台的Streaming、sql、sparkMllib、spark写的一些简单的demo程序 这边可以直接将项目下载下来导入到eclipse或则Intellij IDE中,每一个程序都能单独执行,里面给出了...

    Spark: spark/trunk part001 第一部分

    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的核心概念、架构...

    Spark: spark/trunk part003 第三部分

    Spark: svn co http://svn.igniterealtime.org/svn/repos/spark/trunk spark 辛辛苦苦从SVN上下载下来的SOURCE Spark 2.6.3 Spark: spark/trunk part003 第三部分

    深入理解Spark+核心思想与源码分析.pdf

    深入理解Sp深入理解SPARK:核心思想与源码分析》结合大量图和示例,对Spark的架构、部署模式和工作模块的设计理念、实现源码与使用技巧进行了深入的剖析与解读。 《深入理解SPARK:核心思想与源码分析》一书对Spark...

    High Performance Spark: Best Practices for Scaling and Optimizing Apache Spark

    High Performance Spark: Best Practices for Scaling and Optimizing Apache Spark by Holden Karau English | 25 May 2017 | ASIN: B0725YT69J | 358 Pages | AZW3 | 3.09 MB Apache Spark is amazing when ...

    Spark The Definitive Guide-201712

    《Spark The Definitive Guide-201712》是大数据处理领域中一本非常重要的参考资料,由知名数据工程师及作者Bill Karwin 和 Databricks 的团队共同编写。这本书全面覆盖了Apache Spark的核心概念、技术和最佳实践,...

Global site tag (gtag.js) - Google Analytics