主要内容

Apache火花基础知识

Apache火花™是一种快速、大规模数据处理的通用引擎。

每一个火花™应用程序由一个司机项目管理集群上的应用程序的执行。工人们在一个被称为火花启用集群执行人。司机流程运行用户代码执行人。

在一个典型的火花应用程序中,您的代码将建立一个SparkContext,创建一个弹性分布式数据集(抽样从外部数据),然后执行被称为方法转换行动在抽样到达一个分析的结果。

抽样是火花,是一个不可变的主要编程抽象集合元素的跨集群的节点,可以并行操作。火花的应用程序可以在单个机器上本地运行或集群。

主要是写的火花Scala和在其他编程语言api,包括MATLAB®。MATLAB API火花暴露了火花MATLAB编程模型,使无数的火花的MATLAB实现功能。许多这些火花的MATLAB实现函数接受函数处理或匿名函数作为输入来执行各种类型的分析。

运行对火花

运行与火花意味着执行应用程序与火花启用集群使用一个支持集群管理器。金宝app一个集群可以在本地或网络上。您可以运行对火花在两个方面:

  • 执行命令的交互式shell这是连接到火花。

  • 创建并执行一个独立应用程序针对集群火花。

使用交互式shell时,火花可以与数据分布在磁盘或内存中在许多机器和执行特别分析。火花负责工作的潜在分布在各种机器。在Python交互式shell仅可用®Scala

MATLAB API的火花MATLAB编译器™提供了一个交互式shell类似于引发壳之前,允许您调试应用程序部署。交互式shell仅根据本地集群运行。

当创建和执行对火花独立应用程序,应用程序首先被打包或编译作为独立的应用程序被执行之前对火花启用集群。你可以在作者独立的应用程序Scala,Java®、Python和MATLAB。

MATLAB API的火花MATLAB编译器允许您创建独立的应用程序可以运行与火花。

集群支持的经理金宝app火花

当地的

一个当地的集群管理器是一个pseudo-cluster在单个机器上,在将工作模式。您可以配置使用一个工作线程,或在多核机器上,多个工作线程。在应用程序中,它是用这个词当地的

请注意

火花MATLAB API,允许交互式调试应用程序,只有本地集群管理器工作。

独立的

一个独立的集群管理器附带火花。它由一个主和多个工人。使用一个单独的集群管理器,每个集群节点上放置一个编译版本的火花。一个独立的集群管理器可以开始使用脚本提供的火花。在应用程序中,表示为:火花:/ /主持人:端口。默认端口号7077年

请注意

船只的独立集群管理器火花不会是令人困惑的独立应用程序能与火花。MATLAB编译器不支持独立的集群管理器。金宝app

一个纱在Hadoop集群管理器了®2.0。它通常安装在同一节点HDFS™。因此,在纱线上运行火花让火花容易HDFS数据的访问。在应用程序中,它将使用这个术语来表示。有两种模式在启动应用程序时可用纱:

  • yarn-client模式,司机在客户端运行的过程,应用程序主仅用于请求资源从纱线。

  • yarn-cluster模式下,火花驱动程序运行在一个应用程序主进程由纱线在集群上,启动应用程序后,客户端可以退休。

请注意

MATLAB编译器支持纱线集群管金宝app理器只在yarn-client模式。

便

便集群管理器是一个开源集群管理器由Apache™。在应用中,通常表示为:便:/ /主持人:端口。默认端口号5050年

请注意

MATLAB编译器不支持集群管理器便。金宝app

您可以使用下面的表格,看看哪个MATLAB编译器支持部署选项每个集群管理器。金宝app

部署对火花选项 本地集群(当地的) Hadoop集群(yarn-client)

包含高阵列部署独立的应用程序

不受支持金宝app的。

金宝app支持。

部署独立的应用程序使用MATLAB的API创建的火花

金宝app支持。

金宝app支持。

使用MATLAB交互式调试应用程序的API火花

金宝app支持。

不受支持金宝app的。

之间的关系火花Hadoop

火花和Hadoop发挥作用之间的关系只有如果你想运行引发Hadoop集群上安装。否则,您不需要运行Hadoop火花。

火花集群上运行需要一个共享文件系统。Hadoop集群提供对分布式文件系统的访问通过HDFS集群管理器,纱线的形式。火花可以使用纱作为分配工作和使用HDFS集群管理器来访问数据。此外,一些火花应用程序可以使用Hadoop MapReduce编程模型,但MapReduce并不构成核心编程模型的火花。

不需要Hadoop集群上运行的火花。您还可以使用其他选项如便。

请注意

目前MATLAB编译器支持部署的部署选项只对火花使Hadoop集群。金宝app

司机

每一个应用程序由一个火花司机程序启动各种操作在一个集群中。司机是一个过程的main ()一个程序运行的方法。司机流程运行用户代码,创建一个SparkContext创建抽样,并执行转换和行动。当一个火花驱动程序执行时,它执行两个任务:

  • 用户程序转换成任务。

    火花驱动应用程序负责将用户程序转换成物理单位执行任务。任务的最小单位工作的火花。

  • 安排任务执行人。

    火花司机试图安排每个任务在一个适当的位置,基于位置数据。也跟踪缓存数据的位置,并使用它来安排将来访问该数据的任务。

一旦司机终止应用程序完成。

请注意

当使用MATLAB API的火花MATLAB编译器,MATLAB应用程序代码成为引发驱动程序。

遗嘱执行人

火花执行人是工作进程负责运行单个任务在一个给定的火花工作。执行人火花初启动应用程序,并持续整个应用程序的生命周期。执行人执行两个角色:

  • 运行任务的应用程序,并将结果返回给司机。

  • 提供内存存储抽样所缓存的用户程序。

抽样

一个弹性分布式数据集抽样是一种编程抽象的火花。它代表的元素分布在许多节点的集合可以并行操作。抽样往往是容错。您可以创建抽样在两个方面:

  • 通过加载外部数据集。

  • 通过并行对象的集合司机程序。

创建后,您可以执行两种类型的操作使用抽样:转换行动

转换

转换在现有的操作返回一个新的抽样的抽样。很多,但不是全部,转换是element-wise操作。

行动

行动计算最终结果基于一个抽样和返回结果的驱动程序或将其保存到外部存储系统如HDFS。

区分转换和行动

检查返回的数据类型。转换返回抽样,而操作返回其他数据类型。

SparkConf

SparkConf商店应用程序的配置参数被部署到火花。必须配置每个应用程序被部署在集群火花。一些应用程序的配置参数定义属性和一些被火花用来分配资源在集群上。配置参数传递到一个集群通过火花SparkContext

SparkContext

一个SparkContext代表一个连接到集群火花。这是入口点火花,设置必要的内部服务建立连接到火花执行环境。