jupyter笔记本_如何为Jupyter笔记本电脑设置PySpark

jupyter笔记本

Apache Spark是数据科学中最热门的框架之一。 它实现了将大数据和机器学习整合在一起的潜力。 这是因为:

  • 它提供了健壮的,分布式的,容错的数据对象(称为RDD )。
  • 由于内存中的操作,它速度很快(比传统的Hadoop MapReduce快100倍)。
  • 通过诸如MLlib和GraphX的补充软件包,它与机器学习和图形分析世界完美地集成在一起 。
jupyter笔记本_如何为Jupyter笔记本电脑设置PySpark_第1张图片

Spark在Hadoop / HDFS上实现,并且主要用Scala (一种在Java虚拟机( JVM )上运行的功能性编程语言)编写。

但是,Scala并非冒险进入数据科学世界时学习的优秀第一语言。 幸运的是,Spark提供了一个很棒的Python API,称为PySpark 。 PySpark允许Python程序员与Spark框架进行交互,从而使他们能够按比例处理数据并使用分布式文件系统上的对象。

jupyter笔记本_如何为Jupyter笔记本电脑设置PySpark_第2张图片

为什么要使用Jupyter Notebook?

仅当大数据框架在具有大量节点的集群上运行时,才实现大数据框架的承诺。 不幸的是,要学习和实践这一点,就得花钱。 一些选项是:

  • 具有S3存储的Amazon Elastic MapReduce (EMR)集群
  • Databricks集群 (收费版本;免费社区版本在存储和集群选项方面受到很大限制)

这些选项要花钱,甚至是开始学习也要花钱(例如,与EC2或S3实例不同,一年期的免费套餐中不包括Amazon EMR)。

但是,如果您精通Python / Jupyter和机器学习任务,那么从在本地机器上启动单个群集开始就很有意义。 如果您想要更多的存储和内存,也可以在Amazon EC2上运行一个。

请记住,Spark不是您必须学习的新编程语言。 它是在HDFS之上工作的框架。 这提出了新的概念,例如节点,惰性评估以及编程的转换动作(或“映射并减少”)范式。

Spark还具有足够的通用性,可以与Hadoop以外的文件系统一起使用,例如Amazon S3或Databricks(DBFS)。

但是想法总是一样的。 您可以在多个节点上以固定的小块形式分布(并复制)大型数据集,然后使计算引擎靠近它们,从而使整个操作并行,容错且可扩展。

通过与PySpark和Jupyter Notebook一起使用 ,您可以学习所有这些概念而无需花费任何精力 。 您还可以轻松地与SparkSQL和MLlib进行接口,以进行数据库操作和机器学习。

如果您事先对这些概念进行了内部化,那么开始使用实际的大型集群将更加容易。

但是,与大多数Python库不同,从PySpark开始并不像pip installimport那样简单。 大多数具有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笔记本_如何为Jupyter笔记本电脑设置PySpark_第3张图片

而已! 现在,您应该能够启动Jupyter Notebook,并从任何地方开始使用PySpark。

例如,如果我创建了一个目录〜/ Spark / PySpark_work并从那里开始工作,则可以启动Jupyter。

jupyter笔记本_如何为Jupyter笔记本电脑设置PySpark_第4张图片

但是等等...我在哪里叫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笔记本

你可能感兴趣的:(编程语言,大数据,python,java,人工智能)