1、SparkContext [经常简称为 sc]
spark app 的起点和入口,一般用来加载数据集,生成第一个 rdd。
2、定义一个 spark 应用程序所需要的三大步骤的逻辑:加载数据集,处理数据,结果展示。
- 加载数据集
加载数据集,这里的数据集大概分为两组:
- 一种是不变的,静态数据集,大多数场景都是从数据库,文件系统上面加载进来
- 另一种是动态的数据集,一般做 streaming 应用的时候用到,大多数场景是通过 socket 来加载数据,复杂场景可以通过文件系统,akka actors,kafka,kinesis 和 一些第三方提供的 streaming api [twitter 等] 来作为数据源加载数据
- 处理数据
处理数据,这是重点中的重点,不过不外乎都是从三个方面来完成这里的数据清理,逻辑运算等:
- 自定义的一些复杂处理函数或者第三方包 [下面我们称为函数集]
- 通过 RDD 的 transform,action 和函数集来完成整个处理,计算流程
- 通过 RDD 提供的 cache,persist,checkpoint 方法把一些处理流程中的重要处理节点和常用数据缓存和备份,以加速处理,计算速度
- 结果展示
结果展示,这里一般情况都是使用 RDD 的 collect,take,first,top 等方法把结果取出来,更常用的是先把结果取出来,放到一个数据库或文件系统上,然后再提供给专门展示结果的另一个 application 使用。
3、有向无环图(DGA):
有向无环图,有向即有方向,无环即不可逆,其实更详细的说是一个时间上的先来后到,即祖先与子孙的关系,是不可逆的。
4、RDD
关于RDD的一篇论文翻译
Spark的这些事系列文章:
Spark的这些事<一>——Windows下spark开发环境搭建
Spark的这些事<二>——几个概念
Spark的这些事<三>——spark常用的Transformations 和Actions
<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
相关推荐
在这个版本中,Spark的核心特性开始形成,主要包括以下几个方面: 1. **弹性分布式数据集(Resilient Distributed Datasets, RDDs)**:RDD是Spark的基础数据抽象,它提供了一种可编程的、容错的数据集合,可以在...
在这本书中,读者可以学习如何使用最新版本的Spark——即版本2.0,来分析数据并深入了解机器学习的世界。这本书的两位作者是Srinivas Duvvuri和Bikramaditya Singhal。他们精心筹备了这本书,力求书中信息的准确性,...
Spark的核心概念——弹性分布式数据集(Resilient Distributed Dataset, RDD)的不可变性,使其能够有效规避分布式环境下的复杂并行问题。然而,在机器学习领域,这种特性反而成为了一种限制。 #### 二、RDD在机器...
本篇文章将详细阐述SparkCore中的关键概念——Resilient Distributed Dataset (RDD)。 RDD,即弹性分布式数据集,是Spark的核心数据结构。它是一个不可变、可分区的集合,可以在集群中并行计算。RDD具有以下几个...
在Adobe Flex 4 (代号Gumbo)中,为了提高用户界面(UI)的美观度和灵活性,引入了一个非常强大的概念——皮肤(Skin)。皮肤是用于定义控件外观的一系列元素组合,通过更改这些元素,可以轻松地定制任何UI组件的视觉表现...
下面我们将具体介绍几个关键概念和技术: #### 1. 机器学习工作流程 机器学习的工作流程通常包括以下几个步骤:数据准备、模型训练、模型评估以及新数据预测。其中,数据准备阶段非常重要,需要对原始数据进行清洗...
首先,我们需要了解Spark SQL的核心概念——DataFrame。DataFrame可以被视为一种分布式的、带标签的二维表格数据结构,它可以看作是SQL中的表格或R/Python中的data.frame。DataFrame在Spark SQL中扮演着核心角色,...
【压缩包子文件的文件名称列表】:未提供具体的文件名,但通常在这样的项目中,文件可能包括以下几个部分: 1. **配置文件**:如`spark-streaming-config.conf`,包含Spark Streaming的配置信息,如集群设置、数据...
在SparkGraphX中运行图计算程序通常涉及以下几个步骤: 1. **图的构建**:使用GraphX API创建一个图对象,该对象包含顶点集和边集。 2. **初始化图属性**:为图中的每个顶点和边设置初始属性值。 3. **执行图计算**...
这个系列课程有几个板块组成,所以学员可以按照自己的实际情况选择学习。例如,对于只需要了解hadoop基本编程的人,只需要选择“hadoop源码解析与企业应用开发实战”模块就可以了;对于立志于从事大数据领域的零起点...
### 大数据技术分享:Spark技术讲座——避免性能坑洼与Spark上的数据科学Python扩展 在当前的大数据处理领域,Apache Spark作为一种强大的分布式计算框架,因其高性能和灵活性而备受推崇。本次讲座旨在深入探讨如何...
数据仓库架构通常包括以下几个层次:源系统、数据接入层、数据存储层、数据处理层和应用层。源系统包含各种业务系统的原始数据;数据接入层负责数据的抽取和预处理;数据存储层则分为数据仓库和数据 mart,前者存储...
【标签】虽然标签为空,但我们可以自行归纳几个关键标签:软考、中级数据库系统工程师、备考资料、xmind、思维导图、第四版教程、数据库理论、数据库实践。 【压缩包子文件的文件名称列表】"all"表明这个压缩包可能...
这份"并行计算——结构·算法·编程"的复习资料,虽然未经过整理,但提供了对这个主题的深入探讨。 在并行计算的结构方面,我们通常会讨论以下几种模型: 1. **共享内存**:在这种模型中,多个处理器共享同一块...
《数据分析基础——基于Excel和SPSS》这本教材的习题答案涵盖了数据分析的基本概念和实践操作,主要针对使用Excel和SPSS这两种常见的数据分析工具。在学习这个知识点时,我们需要理解以下几个核心要点: 1. **数据...
FrameWork ...2、学习Python的几个机器学习工具——pandas,numpy, seaborn,sklearn 3、去Kaggle上打比赛,学习特征工程和别人的代码 4、找project做 5、学习大规模数据处理——spark hadoop storm 6、.....
通过以上五个方面的详细介绍,我们不仅能够了解到世界500强企业在招聘过程中看重的个人素质与专业技能,还能够学习到如何在面试中展现自己的优势。对于求职者来说,这些知识都是极其宝贵的资源,能够帮助他们在激烈...
这篇研究可能涵盖了以下几个关键知识点: 1. 大数据概念与应用:大数据是指在传统数据处理工具无法有效管理的海量、高速、多样化的信息资产。在这个研究中,大数据被用来收集、存储、分析和解释大学生志愿服务的...
总结一下,这个项目涵盖了以下几个关键知识点: 1. Hadoop架构和原理,包括HDFS和MapReduce。 2. Hive的基本概念和使用,包括HQL语法。 3. 大数据预处理,如数据清洗和转换。 4. 数据分析方法,如统计分析、趋势...
### 大数据Spark技术分享:使用Ray RLlib在分布式强化学习中的应用 #### 强化学习(Reinforcement Learning, RL)与Ray RLlib简介 本文档主要介绍如何利用Ray RLlib这一强大的库来实现分布式强化学习算法,并通过...