共计 3474 个字符,预计需要花费 9 分钟才能阅读完成。
安装 Anaconda
Anaconda 是 Python 科学计算包的合集,在接下来的例子中,会用到其中的 matplotlib 用来生成一张柱状图。
下载地址:https://www.continuum.io/downloads
然后在 Terminal 中输入命令:
bash Anaconda2-4.1.1-Linux-x86_64.sh
注意,应该使用 4.1.1 版本的 Anaconda,因为其 Python 版本是 3.5,而 Spark 目前只支持 3.5 版本的 python,不能支持 3.6 版本的
安装 JavaSDK
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install Oracle-java8-installer
配置 JAVA_HOME
在.bashrc 中对 JAVA_HOME 进行配置
vim ~/.bashrc
JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JAVA_HOME
PATH=$PATH:$JAVA_HOME
export PATH
安装 Spark
去官网下载压缩包,下载地址 http://spark.apache.org/downloads.html
将安装包解压:
$ tar -zxvf spark-2.0.0-bin-Hadoop2.7.tgz
$ rm spark-2.0.0-bin-hadoop2.7.tgz
启用 IPython Notebook
vim ~/ .bashrc
export PYSPARK_DRIVER_PYTHON=ipython
export PYSPARK_DRIVER_PYTHON_OPTS=notebook
检查是否安装成功(需重启 Terminal)
cd ~/spark-2.0.0-bin-hadoop2.7
./bin/pyspark
出现下面的即为 OK:
eversilver@debian:/usr/local/spark2.1$ ./bin/pyspark
Python 3.5.2 |Anaconda 4.1.1 (64-bit)| (default, Jul 2 2016, 17:53:06)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/spark2.1/jars/slf4j-log4j12-1.7.16.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
17/05/03 14:50:12 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
17/05/03 14:50:12 WARN Utils: Your hostname, debian resolves to a loopback address: 127.0.1.1; using 192.168.142.133 instead (on interface eth0)
17/05/03 14:50:12 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address
17/05/03 14:50:27 WARN ObjectStore: Failed to get database global_temp, returning NoSuchObjectException
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/__ / .__/\_,_/_/ /_/\_\ version 2.1.0
/_/
Using Python version 3.5.2 (default, Jul 2 2016 17:53:06)
SparkSession available as 'spark'.
>>>
使用
- 每个 Spark 应用都由一个驱动器程序(driver program)来发起集群上的各种并行操作。
- 驱动器程序通过一个 SparkContext 对象来访问 Spark。这个对象代表对计算集群的一个连接。shell 启动时已经自动创建了一个 SparkContext 对象,是一个叫作 sc 的变量。有了 SparkContent 之后就可以用其来创建 RDD。
- 第一个例子:
#!/usr/bin/env python # coding=utf-8 from pyspark import SparkConf, SparkContext #下面的第一个参数是集群 URL,由于这里运行在本机单线程上,所以用 local 即可 #下面第二个参数是应用名称,当连接到一个集群时,这个值可以帮助你在集群管理器的用户界面中找到你的应用。conf = SparkConf().setMaster("local").setAppName("My App") sc = SparkContext(conf= conf) #python 中打开获取 SparkContent 来创建 RDD nums = sc.parallelize([1,2,3,4]) squared = nums.map(lambda x : x * x).collect() for num in squared: print "%i"%(num)
- 上面执行完成后可以使用./bin/spark-submit useMap.py 来执行程序
更多 Spark 相关教程见以下内容:
CentOS 7.0 下安装并配置 Spark http://www.linuxidc.com/Linux/2015-08/122284.htm
Ubuntu 系统搭建单机 Spark 注意事项 http://www.linuxidc.com/Linux/2017-10/147220.htm
Spark1.0.0 部署指南 http://www.linuxidc.com/Linux/2014-07/104304.htm
Spark2.0 安装配置文档 http://www.linuxidc.com/Linux/2016-09/135352.htm
Spark 1.5、Hadoop 2.7 集群环境搭建 http://www.linuxidc.com/Linux/2016-09/135067.htm
Spark 官方文档 – 中文翻译 http://www.linuxidc.com/Linux/2016-04/130621.htm
CentOS 6.2(64 位)下安装 Spark0.8.0 详细记录 http://www.linuxidc.com/Linux/2014-06/102583.htm
Spark-2.2.0 安装和部署详解 http://www.linuxidc.com/Linux/2017-08/146215.htm
Spark2.0.2 Hadoop2.6.4 全分布式配置详解 http://www.linuxidc.com/Linux/2016-11/137367.htm
Ubuntu 14.04 LTS 安装 Spark 1.6.0(伪分布式)http://www.linuxidc.com/Linux/2016-03/129068.htm
Spark 的详细介绍:请点这里
Spark 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-10/147602.htm