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

总结:
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()

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

恶魔的步伐

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值