3. 配置运行平台¶
中国谚语
工欲善其事,必先利其器。 --中国古语
一个好的编程平台可以为您节省很多麻烦和时间。在这里,我将只介绍如何安装我最喜欢的编程平台,并且只展示我知道的在Linux系统上设置它的最简单方法。如果你想安装在另一个操作系统上,你可以用谷歌搜索。在本节中,您可以学习如何在相应的编程平台和包上设置pyspark。
3.1. 在Databricks社区云上运行¶
如果您对Linux或Unix操作系统没有任何经验,我建议您在Databricks社区云上使用Spark。因为你不需要设置 Spark free 社区版。请遵循下面列出的步骤。
![]()
使用您的帐户登录,然后您可以创建集群(机器)、表(数据集)和 notebook(代码)。
![]()
创建运行代码的集群
![]()
导入数据集
![]()
![]()
注解
您需要保存上传到dbfs的路径:/filestore/tables/05rmhuqv148968378010/。因为我们将使用此路径来加载数据集。
创建 notebook
完成以上5个步骤后,您就可以在Databricks社区云上运行Spark代码了。我将在Databricks社区云上运行以下所有演示。希望,当您运行演示代码时,您将得到以下结果:
+---+-----+-----+---------+-----+ |_c0| TV|Radio|Newspaper|Sales| +---+-----+-----+---------+-----+ | 1|230.1| 37.8| 69.2| 22.1| | 2| 44.5| 39.3| 45.1| 10.4| | 3| 17.2| 45.9| 69.3| 9.3| | 4|151.5| 41.3| 58.5| 18.5| | 5|180.8| 10.8| 58.4| 12.9| +---+-----+-----+---------+-----+ only showing top 5 rows root |-- _c0: integer (nullable = true) |-- TV: double (nullable = true) |-- Radio: double (nullable = true) |-- Newspaper: double (nullable = true) |-- Sales: double (nullable = true)
3.2. 在Mac和Ubuntu上配置Spark¶
3.2.1. 安装必备组件¶
我强烈建议你安装 Anaconda ,因为它包含大部分的先决条件并支持多个操作员系统。
安装Python
转到Ubuntu软件中心并执行以下步骤:
打开Ubuntu软件中心
搜索python
然后单击“安装”
或者打开终端并使用以下命令:
sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev
libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
sudo apt-get install python
sudo easy_install pip
sudo pip install ipython
3.2.2. 安装Java¶
Java被许多其他软件所使用。所以很可能您已经安装了它。可以在命令提示符中使用以下命令:
java -version
否则,您可以按照 How do I install Java for my Mac? 在Java上安装Java并使用命令提示符中的以下命令安装在Ubuntu上:
sudo apt-add-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
3.2.3. 安装JavaSE运行环境¶
我安装了Oracle Java JDK .
警告
Installing Java and Java SE Runtime Environment steps are very important, since Spark is a domain-specific language written in Java.
您可以在命令提示符下使用以下命令检查您的Java是否可用,并找到它的版本:
java -version
如果您的Java安装成功,您将得到如下类似的结果:
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
3.2.4. 安装Apache Spark¶
实际上,预构建版本不需要安装。您可以在解包时使用它。
下载:您可以从 Download Apache Spark™ .
解包:将Apache Spark™解包到要安装Spark的路径。
测试:测试先决条件:更改方向
spark-#.#.#-bin-hadoop#.#/bin
并运行./pysparkPython 2.7.13 |Anaconda 4.4.0 (x86_64)| (default, Dec 20 2016, 23:05:08) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information. Anaconda is brought to you by Continuum Analytics. Please check out: http://continuum.io/thanks and https://anaconda.org Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties Setting default log level to "WARN". To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). 17/08/30 13:30:12 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 17/08/30 13:30:17 WARN ObjectStore: Failed to get database global_temp, returning NoSuchObjectException Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /__ / .__/\_,_/_/ /_/\_\ version 2.1.1 /_/ Using Python version 2.7.13 (default, Dec 20 2016 23:05:08) SparkSession available as 'spark'.
3.2.5. 配置 Spark¶
Mac操作员系统: 打开你的
bash_profile
在终端vim ~/.bash_profile并将以下行添加到
bash_profile
(记住改变路径)# add for spark export SPARK_HOME=your_spark_installation_path export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin export PATH=$PATH:$SPARK_HOME/bin export PYSPARK_DRIVE_PYTHON="jupyter" export PYSPARK_DRIVE_PYTHON_OPTS="notebook"最后,请记住
bash_profile
source ~/.bash_profile
Ubuntu操作员系统: 打开你的
bashrc
在终端vim ~/.bashrc并将以下行添加到
bashrc
(记住改变路径)# add for spark export SPARK_HOME=your_spark_installation_path export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin export PATH=$PATH:$SPARK_HOME/bin export PYSPARK_DRIVE_PYTHON="jupyter" export PYSPARK_DRIVE_PYTHON_OPTS="notebook"最后,请记住
bashrc
source ~/.bashrc
3.3. 在Windows上配置Spark¶
在Windows上安装开源软件对我来说总是一场噩梦。谢谢你的迪莱什·曼德洛。你可以按照博客中的详细步骤操作。 Getting Started with PySpark on Windows 在Windows操作系统上安装Apache Spark。
3.4. 带文本编辑器或IDE的pyspark¶
3.4.1. 带Jupyter notebook的pyspark¶
完成上述设置步骤后,请在 在Mac和Ubuntu上配置Spark ,那么你应该很好地在jupyter notebook中编写和运行pyspark代码。
3.4.3. 派斯帕克与崇高的文本¶
完成上述设置步骤后,请在 在Mac和Ubuntu上配置Spark 然后,最好使用Sublime文本来编写pyspark代码,并在终端中将代码作为普通的python代码运行。
python test_pyspark.py
然后您应该在终端中得到输出结果。
3.4.4. 日蚀星团¶
如果要在Eclipse上运行pyspark代码,则需要为 外部库 为了你 当前项目 如下:
打开项目的属性
![]()
为添加路径 外部库
![]()
然后,您应该可以在Eclipse上使用pydev运行代码。
3.5. PySparkling Water : Spark +H2O¶
下载
Sparkling Water
发件人:https://s3.amazonaws.com/h2o-release/sparkling-water/rel-2.4/5/index.html测试 PySparking
unzip sparkling-water-2.4.5.zip
cd ~/sparkling-water-2.4.5/bin
./pysparkling
如果您对pyspark有正确的设置,那么您将得到以下结果:
Using Spark defined in the SPARK_HOME=/Users/dt216661/spark environmental property
Python 3.7.1 (default, Dec 14 2018, 13:28:58)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
2019-02-15 14:08:30 WARN NativeCodeLoader:62 - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Setting default log level to "WARN".
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
2019-02-15 14:08:31 WARN Utils:66 - Service 'SparkUI' could not bind on port 4040. Attempting port 4041.
2019-02-15 14:08:31 WARN Utils:66 - Service 'SparkUI' could not bind on port 4041. Attempting port 4042.
17/08/30 13:30:12 WARN NativeCodeLoader: Unable to load native-hadoop
library for your platform... using builtin-java classes where applicable
17/08/30 13:30:17 WARN ObjectStore: Failed to get database global_temp,
returning NoSuchObjectException
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/__ / .__/\_,_/_/ /_/\_\ version 2.4.0
/_/
Using Python version 3.7.1 (default, Dec 14 2018 13:28:58)
SparkSession available as 'spark'.
安装程序
pysparkling
带Jupyter notebook
将以下别名添加到 bashrc
(Linux系统)或 bash_profile
(MAC系统)
alias sparkling="PYSPARK_DRIVER_PYTHON="ipython" PYSPARK_DRIVER_PYTHON_OPTS= "notebook" /~/~/sparkling-water-2.4.5/bin/pysparkling"
正常开放
pysparkling
在终端
sparkling
3.6. 在云端建立 Spark¶
遵循中的设置步骤 在Mac和Ubuntu上配置Spark 您可以在云上建立自己的集群,例如AWS、Google Cloud。实际上,对于那些云,它们有自己的大数据工具。您可以直接在任何设置下运行它们,就像Databricks社区云一样。如果您想了解更多详情,请随时与我联系。
3.7. 本节中的演示代码¶
此部分的代码可供下载 test_pyspark 和Jupyter notebook可从 test_pyspark_ipynb .
python源代码
## set up SparkSession from pyspark.sql import SparkSession spark = SparkSession \ .builder \ .appName("Python Spark SQL basic example") \ .config("spark.some.config.option", "some-value") \ .getOrCreate() df = spark.read.format('com.databricks.spark.csv').\ options(header='true', \ inferschema='true').\ load("/home/feng/Spark/Code/data/Advertising.csv",header=True) df.show(5) df.printSchema()