Spark 2.0分布式集群环境搭建

【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!
[返回Spark教程首页]
Apache Spark 是一个新兴的大数据处理通用引擎,提供了分布式的内存抽象。Spark 最大的特点就是快,可比 Hadoop MapReduce 的处理速度快 100 倍。本文没有使用一台电脑上构建多个虚拟机的方法来模拟集群,而是使用三台电脑来搭建一个小型分布式集群环境安装。
本教程采用Spark2.0以上版本(比如Spark2.0.2、Spark2.1.0等)搭建集群,同样适用于搭建Spark1.6.2集群
继续阅读

Hadoop 2.7分布式集群环境搭建

Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。为了更好演示集群分布,本文没有使用一台电脑上构建多个虚拟机的方法来模拟集群,而是使用三台电脑来搭建一个小型分布式集群环境安装。本文记录如何搭建并配置Hadoop分布式集群环境。
继续阅读

Spark入门:MLlib基本数据类型(1)

【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!

返回Spark教程首页


MLLib提供了一序列基本数据类型以支持底层的机器学习算法。主要的数据类型包括:本地向量、标注点(Labeled Point)、本地矩阵、分布式矩阵等。单机模式存储的本地向量与矩阵,以及基于一个或多个RDD的分布式矩阵。其中本地向量与本地矩阵作为公共接口提供简单数据模型,底层的线性代数操作由Breeze库和jblas库提供。标注点类型用来表示监督学习(Supervised Learning)中的一个训练样本。

继续阅读

Spark2.0入门:Structured Streaming操作文件流

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

Structured Streaming目前的支持的数据源有两种,一种是文件,另一种是网络套接字;Spark2.0入门:Structured Streaming操作概述这篇教程已经分析了如何从网络套接字读取并分析数据。因此,这篇文章来分析下,如何从文件流读取数据进行Structured Streaming。

继续阅读

Spark2.0入门:Structured Streaming操作网络流

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

在Spark1.6版本,DStream是Spark Streaming的编程模型,而Spark2.0将流计算也统一到DataFrame里去了,提出了Structured Streaming编程模型;将数据源映射为类似于关系数据库中的表,然后将经过计算得到的结果映射为另一张表,完全以结构化的方式去操作流式数据,这种编程模型非常有利于处理分析结构化的数据;

继续阅读

Spark2.0入门从RDD转换得到DataFrame

【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!
[返回Spark教程首页]
Spark官网提供了两种方法来实现从RDD转换得到DataFrame,第一种方法是,利用反射来推断包含特定类型对象的RDD的schema,适用对已知数据结构的RDD转换;第二种方法是,使用编程接口,构造一个schema并将其应用在已知的RDD上。
继续阅读

Spark2.0安装

【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!
[返回Spark教程首页]
Spark可以独立安装使用,也可以和Hadoop一起安装使用。本教程中,我们采用和Hadoop一起安装使用,这样,就可以让Spark使用HDFS存取数据。需要说明的是,当安装好Spark以后,里面就自带了scala环境,不需要额外安装scala,因此,“Spark安装”这个部分的教程,假设读者的计算机上,没有安装Scala,也没有安装Java(当然了,如果已经安装Java和Scala,也没有关系,依然可以继续按照本教程进行安装),也就是说,你的计算机目前只有Linux系统,其他的软件和环境都没有安装(没有Java,没有Scala,没有Hadoop,没有Spark),需要从零开始安装所有大数据相关软件。下面,需要你在自己的Linux系统上(笔者采用的Linux系统是Ubuntu14.04),首先安装Java和Hadoop,然后再安装Spark(Spark安装好以后,里面就默认包含了Scala解释器)。本教程的具体运行环境如下:

  • Ubuntu14.04以上
  • Hadoop 2.6.0以上
  • Java JDK 1.7以上
  • Spark 2.0.0

继续阅读

Spark2.0入门:Structured Streaming简介

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

Structured Streaming是Spark2.0新增的可扩展和高容错性的实时计算框架,它构建于Spark SQL引擎,当实时数据持续到达时,Spark SQL引擎会不断的计算和更新处理结果。类似于静态结构化数据的批处理,Structured Streaming可以用同样的方式进行流计算。因此,Structured Streaming非常适合处理结构化的实时数据。
之前在学习Spark Streaming章节的内容时,我们知道,Spark Streaming采用的数据抽象是DStream,而本质上就是RDD,对数据流的操作就是针对RDD的操作。而在Spark 2.0以后,Spark设计了新的组件Structured Streaming,它把流式计算也统一到DataFrame里去了。如果Structured Streaming 仅仅是换个API,或者能够支持DataFrame操作,那么它并没有突出之处,因为在Spark2.0之前通过某些封装也能够很好地支持DataFrame的操作。那么 Structured Streaming 的意义在哪里呢?第一,重新抽象了流式计算;第二,易于实现数据的exactly-once。2.0之前的Spark Streaming只能做到at-least once,框架层次很难帮你做到exactly-once。 现在通过重新设计流式计算框架,使得实现exactly-once 变得容易了。

继续阅读