Author: 林子雨老师

Spark入门:Spark Streaming简介

【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!
[返回Spark教程首页]

Spark Streaming是构建在Spark上的实时计算框架,它扩展了Spark处理大规模流式数据的能力。Spark Streaming可结合批处理和交互查询,适合一些需要对历史数据和实时数据进行结合分析的应用场景。
继续阅读

Spark入门:流计算简介

【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!
[返回Spark教程首页]

数据总体上可以分为静态数据和流数据。对静态数据和流数据的处理,对应着两种截然不同的计算模式:批量计算和实时计算。批量计算以“静态数据”为对象,可以在很充裕的时间内对海量数据进行批量处理,计算得到有价值的信息。Hadoop就是典型的批处理模型,由HDFS和HBase存放大量的静态数据,由MapReduce负责对海量数据执行批量计算。流数据必须采用实时计算,实时计算最重要的一个需求是能够实时得到计算结果,一般要求响应时间为秒级。当只需要处理少量数据时,实时计算并不是问题;但是,在大数据时代,不仅数据格式复杂、来源众多,而且数据量巨大,这就对实时计算提出了很大的挑战。因此,针对流数据的实时计算——流计算,应运而生。
继续阅读

Spark入门: Spark SQL简介

【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!
[返回Spark教程首页]

Spark SQL是Spark生态系统中非常重要的组件,其前身为Shark。Shark是Spark上的数据仓库,最初设计成与Hive兼容,但是该项目于2014年开始停止开发,转向Spark SQL。Spark SQL全面继承了Shark,并进行了优化。
继续阅读

Spark入门:DataFrame

【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!
[返回Spark教程首页]

DataFrame的推出,让Spark具备了处理大规模结构化数据的能力,不仅比原有的RDD转化方式更加简单易用,而且获得了更高的计算性能。Spark能够轻松实现从MySQL到DataFrame的转化,并且支持SQL查询。
继续阅读

Spark入门:文件数据读写

【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!
[返回Spark教程首页]

除了可以对本地文件系统进行读写以外,Spark还支持很多其他常见的文件格式(如文本文件、JSON、SequenceFile等)和文件系统(如HDFS、Amazon S3等)和数据库(如MySQL、HBase、Hive等)。数据库的读写我们将在Spark SQL部分介绍,因此,这里只介绍文件系统的读写和不同文件格式的读写。
继续阅读

Spark入门:键值对RDD

【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!
[返回Spark教程首页]

虽然RDD中可以包含任何类型的对象,但是“键值对”是一种比较常见的RDD元素类型,分组和聚合操作中经常会用到。
Spark操作中经常会用到“键值对RDD”(Pair RDD),用于完成聚合计算。普通RDD里面存储的数据类型是Int、String等,而“键值对RDD”里面存储的数据类型是“键值对”。
继续阅读

Spark入门:RDD编程

【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!
[返回Spark教程首页]

通过前面几章的介绍,我们已经了解了Spark的运行架构和RDD设计与运行原理,并介绍了RDD操作的两种类型:转换操作和行动操作。
同时,我们前面通过一个简单的WordCount实例,也大概介绍了RDD的几种简单操作。现在我们介绍更多关于RDD编程的内容。
Spark中针对RDD的操作包括创建RDD、RDD转换操作和RDD行动操作。
继续阅读

Spark入门:Spark的部署模式

【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载。版权所有,侵权必究!
[返回Spark教程首页]

本节首先介绍Spark支持的三种典型集群部署方式,即standalone、Spark on Mesos和Spark on YARN;然后,介绍在企业中是如何具体部署和应用Spark框架的,在企业实际应用环境中,针对不同的应用场景,可以采用不同的部署应用方式,或者采用Spark完全替代原有的Hadoop架构,或者采用Spark和Hadoop一起部署的方式。
继续阅读

Spark入门:第一个Spark应用程序:WordCount

【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载。版权所有,侵权必究!
[返回Spark教程首页]

前面已经学习了Spark安装,完成了实验环境的搭建,并且学习了Spark运行架构和RDD设计原理,同时,我们还学习了Scala编程的基本语法,有了这些基础知识作为铺垫,现在我们可以没有障碍地开始编写一个简单的Spark应用程序了——词频统计。
继续阅读