您的位置:首页 > 其它

3.1、Spark核心概念——RDD概述

2017-03-09 15:17 260 查看
总结:

Spark-RDD创建过程:

1、创建一个 SparkConf 对象 sc

2、通过 SparkConf 对象创建一个 SparkContext 对象

3、通过 SparkContext 对象创建一个 RDD 对象

4、通过 RDD 对象来操作数据

一、Spark应用的运行方式

1、每个 Spark 应用都由一个驱动器程序( driver program)来发起集群上的各种并行操作,驱动器程序包含应用的 main 函数,并且定义了集群上的分布式数据集;

2、驱动器程序通过一个 SparkContext 对象来访问 Spark,这个对象代表对计算集群的一个连接

shell 启动时已经自动创建了一个 SparkContext 对象,是一个叫作 sc 的变量;

3、一旦有了 SparkContext,你就可以用它来创建 RDD,例如,我们可以调用sc.textFile() 来创建一个代表文件中各行文本的 RDD。我们可以在这些行上进行各种操作,比如 count()。要执行这些操作,驱动器程序一般要管理多个执行器( executor)节点。比如,如果我们在集群上运行 count() 操作,那么不同的节点会统计文件的不同部分的行数。最后,我们有很多用来传递函数的 API,可以将对应操作运行在集群上,比如,筛选出文件中包含某个特定单词的行;



4、Spark API 最神奇的地方,就在于像 filter 这样基于函数的操作也会在集群上并行执行。也就是说, Spark 会自动将函数(比如 line.contains(“Python”))发到各个执行器节点上。这样,你就可以在单一的驱动器程序中编程,并且让代码自动运行在多个节点上。

5、Spark 也可以在 Java、 Scala 或 Python 的独立程序中被连接使用。这与在 shell 中使用的主要区别在于你需要自行初始化 SparkContext。接下来,使用的 API 就一样了。在 Python 中, 你可以把应用写成 Python 脚本,但是需要使用 Spark 自带的 bin/sparksubmit 脚本来运行。 spark-submit 脚本会帮我们引入 Python 程序的 Spark 依赖。这个脚本为 Spark 的 PythonAPI 配置好了运行环境;

6、一旦完成了应用与 Spark 的连接,接下来就需要在你的程序中导入 Spark 包并且创建SparkContext。你可以通过先创建一个 SparkConf 对象来配置你的应用,然后基于这个

SparkConf 创建一个 SparkContext 对象。

示例代码:

!/user/bin/python

-*- coding=utf-8

from pyspark import SparkContext,SparkConf

def main():

conf = SparkConf().setMaster(“localhost”).setAppName(“My App”)

sc = SparkContext(conf = conf)

lines = sc.textFile(“dd.json”)

print lines.collect()

print lines.count()

if name == ‘main‘:

main()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spark 应用 数据