认识spark

spark简介官网 Apache Spark™ - Unified Engine for large-scale data analytics

Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。

是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发的通用内存并行计算框架Spark得到了众多大数据公司的支持,这些公司包括Hortonworks、IBM、Intel、Cloudera、MapR、Pivotal、百度、阿里、腾讯、京东、携程、优酷土豆。当前百度的Spark已应用于大搜索、直达号、百度大数据等业务;阿里利用GraphX构建了大规模的图计算和图挖掘系统,实现了很多生产系统的推荐算法;腾讯Spark集群达到8000台的规模,是当前已知的世界上最大的Spark集群。

Spark特点

1)快速:基于内存的计算比 MapReduce 快 100 倍,基于磁盘快 10 倍。

2)易用:编写一个 spark 的应用程序可以使用 Java, Scala, Python, R,这就使得我们的开发非常地灵活。并且,对比MapReduce,spark 内置了 80 多个高级操作,这使得开发十分高效和简单。

3)运行范围广:spark 可以运行在 local、yarn、mesos、standalone、kubernetes 等多种平台之上。它可以访问诸如 HDFS, Cassandra, HBase, S3 等多种多样的数据源。

4)通用: spark 提供了 SparkSQL、 SparkStreaming、 GraphX、 MLlib 等一系列的分析工具。

Spark生态圈

Spark Core

Spark的核心,提供底层框架及核心支持。

BlinkDB

一个用于在海量数据上进行交互式SQL查询的大规模并行查询引擎,允许用户通过权衡数据精度缩短查询响应时间,数据的精度将被控制在允许的误差范围内。

Spark SQL

可以执行SQL查询,支持基本的SQL语法和HiveQL语法,可读取的数据源包括Hive、HDFS、关系数据库(如MySQL)等。

Spark Streaming

可以进行实时数据流式计算

MLBase

是Spark生态圈的一部分,专注于机器学习领域,学习门槛较低。

MLBase由4部分组成:MLlib、MLI、ML Optimizer和MLRuntime。

MLlib部分算法如下。

了解Spark核心数据集RDD

RDD(Resilient Distributed Datasets弹性分布式数据集),可以简单的把RDD理解成一个提供了许多操作接口的数据集合,和一般数据集不同的是,其实际数据分布存储于一批机器中(内存或磁盘中)。

宽依赖与窄依赖

窄依赖:表现为一个父RDD的分区对应于一个子RDD的分区或者多个父RDD的分区对应于一个子RDD的分区。

宽依赖:表现为存在一个父RDD的一个分区对应一个子RDD的多个分区。

了解Scala语言

Scala是Scalable Language的缩写,是一种多范式的编程语言,由洛桑联邦理工学院的马丁·奥德斯在2001年基于Funnel的工作开始设计,设计初衷是想集成面向对象编程和函数式编程的各种特性。 Scala 是一种纯粹的面向对象的语言,每个值都是对象。Scala也是一种函数式语言,因此函数可以当成值使用。 由于Scala整合了面向对象编程和函数式编程的特性,因此Scala相对于Java、C#、C++等其他语言更加简洁。 Scala源代码会被编译成Java字节码,因此Scala可以运行于Java虚拟机(Java Virtual Machine,JVM)之上,并可以调用现有的Java类库。

了解Scala特性

面向对象 函数式编程 静态类型 可扩展

安装Scala

从Scala官网下载Scala安装包,安装包名称为“scala-2.12.15.tgz”

将其上传至/opt目录

解压安装包至/usr/local目录下

配置Scala环境变量

Scala环境设置

选择安装路径,本文Scala的安装路径选择在非系统盘的“D:\Program Files (x86)\spark\scala\” ,单击“OK”按钮进入安装界面

在安装界面中单击右下角的“Install”按钮进行安装,安装完成时单击“Finish”按钮完成安装。 右键单击“此电脑”图标,选择“属性”选项,在弹出的窗口中选择“高级系统设置”选项。在弹出的对话框中选择“高级”选项卡,并单击“环境变量”按钮,在环境变量对话框中,选择“Path”变量并单击“编辑”按钮,在Path变量中添加Scala安装目录的bin文件夹所在路径,如“D:\Program Files (x86)\spark\scala\bin”。

参考阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。