[Spark] Hello Spark

这里只使用Spark的Python操做和接口,其余语言应为不熟悉,因此先不写在这里。python

Spark 部署

能够直接从官方网站下载 pre-build 版本,能够直接在电脑上运行,离线安装也是能够的,好比说针对Python 2.7linkshell

解压:apache

tar zxvf spark-2.1.0-bin-hadoop2.7.tgz

解压以后,其目录为以下:小程序

$ ls
LICENSE     README.md   conf        jars        sbin
NOTICE      RELEASE     data        licenses    yarn
R       bin     examples    python

其中的几个目录能够先认识一下:bash

  • bin : 这个目录中包含用来和Spark交互的可执行文件
  • README.md : 是一个Spark 的说明文件。
  • examples : 包含一些能够查看和运行的例子程序,对学习Spark的API颇有帮助。

Spark 的 Python Shell

在Spark的目录下,执行:分布式

./bin/pyspark

便可载入Python Shell,成功以后的界面以下:函数

PythonShell

到这就表明Spark完成了部署,可使用 Control + D 退出 SparkShell。oop

第一段小程序

在解释器中执行下面的一段程序试试:学习

>>> lines = sc.textFile("README.md")
>>> pythonLines = lines.filter(lambda line: "Python" in line)

上面两行代码分别为:网站

  1. 经过 SparkContext 对象 sc ,从README.md文件建立一个 文本文件类型的 RDD
  2. 从名为 lines 的RDD中 筛选出 包含字符串"Python"的行,组成新的RDD。

下面解释 RDDSparkContext 这两个名词:

  • SparkContext : 从上层来看,每一个Spark应用都有一个驱动程序来发起集群上的各类并行操做。驱动程序包含应用的main函数,而且定义了集群上的分布式数据集,还对这些分布式数据集应用了相关操做。在这个例子中,实际的驱动程序就是SparkShell自己,你只须要输入想要运行的操做就能够了。shell启动的时候已经自动建立了一个SparkContext对象,名字为sc
  • RDD : 在Spark中,咱们经过对分布式数据集的操做来表达咱们的计算意图,这样的数据集被称为弹性分布式数据集(Resilient Distributed Dataset),简称RDD。

而后能够用执行 .first().count() 两个方法来查看:

first-and-count

相关文章
相关标签/搜索