jupyter笔记本
Apache Spark是数据科学中最热门的框架之一。 它实现了将大数据和机器学习整合在一起的潜力。 这是因为:
Spark在Hadoop / HDFS上实现,并且主要用Scala (一种在Java虚拟机( JVM )上运行的功能性编程语言)编写。
但是,Scala并非冒险进入数据科学世界时学习的优秀第一语言。 幸运的是,Spark提供了一个很棒的Python API,称为PySpark 。 PySpark允许Python程序员与Spark框架进行交互,从而使他们能够按比例处理数据并使用分布式文件系统上的对象。
仅当大数据框架在具有大量节点的集群上运行时,才实现大数据框架的承诺。 不幸的是,要学习和实践这一点,就得花钱。 一些选项是:
这些选项要花钱,甚至是开始学习也要花钱(例如,与EC2或S3实例不同,一年期的免费套餐中不包括Amazon EMR)。
但是,如果您精通Python / Jupyter和机器学习任务,那么从在本地机器上启动单个群集开始就很有意义。 如果您想要更多的存储和内存,也可以在Amazon EC2上运行一个。
请记住,Spark不是您必须学习的新编程语言。 它是在HDFS之上工作的框架。 这提出了新的概念,例如节点,惰性评估以及编程的转换动作(或“映射并减少”)范式。
Spark还具有足够的通用性,可以与Hadoop以外的文件系统一起使用,例如Amazon S3或Databricks(DBFS)。
但是想法总是一样的。 您可以在多个节点上以固定的小块形式分布(并复制)大型数据集,然后使计算引擎靠近它们,从而使整个操作并行,容错且可扩展。
通过与PySpark和Jupyter Notebook一起使用 ,您可以学习所有这些概念而无需花费任何精力 。 您还可以轻松地与SparkSQL和MLlib进行接口,以进行数据库操作和机器学习。
如果您事先对这些概念进行了内部化,那么开始使用实际的大型集群将更加容易。
但是,与大多数Python库不同,从PySpark开始并不像pip install和import那样简单。 大多数具有Python背景的用户都认为此工作流程是理所当然的。 但是,PySpark + Jupyter组合比其他流行的Python包需要更多的爱。
在这个简短的教程中,我将逐步介绍如何在您的系统上设置PySpark及其所有依赖项并将其与Jupyter Notebook集成。
本教程假定您正在使用Linux OS。 这是因为在现实生活中,您几乎总是会在使用AWS或Azure之类的云服务的群集上运行和使用Spark。 这些群集节点可能运行Linux 。
熟悉基于Linux命令行的运行和学习Spark的设置过程是明智的。 如果使用Windows,则可以使用Oracle Virtual Box 在Windows计算机上设置Ubuntu发行版 。
最新版本的PySpark需要Python 3.4+,因此在继续之前,请确保已安装它。 (早期的Python版本将无法使用。)
python3 --version
安装pip3工具。
sudo apt install python3-pip
安装适用于Python的Jupyter 3。
pip3 install jupyter
增强PATH变量以从任何地方轻松启动Jupyter Notebook。
export PATH=$PATH:~/.local/bin
选择一个Java版本。 这个很重要; 在现代的美国商店中 ,Java的变种超过谷物品牌 。 Java 8与UBUNTU 18.04 LTS / SPARK-2.3.1-BIN-HADOOP2.7一起使用,因此我们将使用该版本。
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default
检查安装。
java -version
设置一些与Java相关的PATH变量。
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JRE_HOME=/usr/lib/jvm/java-8-oracle/jre
安装Scala。
sudo apt-get install scala
检查Scala安装。
scala -version
安装py4j进行Python-Java集成。
pip3 install py4j
安装Apache Spark; 转到Spark下载页面,然后选择最新(默认)版本。 我正在将Spark 2.3.1与Hadoop 2.7结合使用。 下载后,将其解压缩到您要使用的位置。
sudo tar -zxvf spark-2.3.1-bin-hadoop2.7.tgz
现在,向您的.bashrc shell脚本中添加一长串命令。 这些将设置环境变量以使用Python 3启动PySpark,并使它能够从Jupyter Notebook调用。 在继续操作之前,请备份.bashrc 。
使用任何你喜欢的编辑器,如gedit的.bashrc打开.bashrc中 。 在末尾添加以下行:
export SPARK_HOME='/{YOUR_SPARK_DIRECTORY}/spark-2.3.1-bin-hadoop2.7'
export PYTHONPATH=$SPARK_HOME/python:$PYTHONPATH
export PYSPARK_DRIVER_PYTHON="jupyter"
export PYSPARK_DRIVER_PYTHON_OPTS="notebook"
export PYSPARK_PYTHON=python3
export PATH=$SPARK_HOME:$PATH:~/.local/bin:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
切记将{YOUR_SPARK_DIRECTORY}替换为上面解压缩Spark的目录。
您可以通过转到{YOUR_SPARK_DIRECTORY}中的/ bin目录并运行spark-shell –version命令来检查Spark设置。 在这里,您可以查看拥有的Spark版本以及正在使用的Java和Scala版本。
而已! 现在,您应该能够启动Jupyter Notebook,并从任何地方开始使用PySpark。
例如,如果我创建了一个目录〜/ Spark / PySpark_work并从那里开始工作,则可以启动Jupyter。
但是等等...我在哪里叫pip install pyspark之类的东西?
我没有 PySpark与Spark下载软件包捆绑在一起,并且可以通过正确设置环境变量和绑定来工作。 所以你们都准备好了!
我正在研究PySpark DataFrame操作的详细入门指南。 如果您有任何问题或想法要分享,请通过tirthajyoti [AT] gmail.com与我联系。 如果您像我一样对机器学习和数据科学充满热情,请在LinkedIn上添加我,或在Twitter上关注我 。 另外,请查看我的GitHub存储库 ,以获取Python,R或MATLAB以及其他一些机器学习资源中的其他有趣代码段。
最初发布在FreeCodeCamp上 。 根据CC BY-SA 4.0许可。
翻译自: https://opensource.com/article/18/11/pyspark-jupyter-notebook
jupyter笔记本