Jupyter与PySpark实现结合spark与python的notebook



* Jupyter与PySpark实现结合spark与python的notebook
<https://blog.csdn.net/njzhujinhua/article/details/79441217#jupyter与pyspark实现结合spark与python的notebook>
* PySpark简介
<https://blog.csdn.net/njzhujinhua/article/details/79441217#pyspark简介>
* Jupyter配置
<https://blog.csdn.net/njzhujinhua/article/details/79441217#jupyter配置>


PySpark简介

Spark作为大数据计算平台具有很大优势,已成为业界共识。
其拥有一些强大的库:
SparkSQL:提供SQL语句,进行结构化数据查询和大数据集的探索。每个数据库表被当做一个RDD,Spark SQL查询被转换为Spark操作;
SparkMLLIB
:主要提供机器学习算法和框架。这个库包含可扩展的学习算法,如分类、聚类、回归等需要对大量数据集进行迭代的操作;SparkMLLib的存在使得Spark不止是个数据分析框架,更是可以用于复杂的机器学习算法开发及模型训练,这个也是我们在强大的jupyter-notebook中引入spark的主要目的之一。
其余的Spark库如 Spark Streaming和Spark GraphX
也是很重要的库,分别提供实时处理和图计算能力,后面在我们的应用过程中也很有机会会用上。


Spark是用Scala写的,整个Spark生态系统需要运行在JVM环境中,并且需要利用本地的HDFS。Hadoop的HDFS是Spark支持的数据存储之一。Spark可以处理不同类型的数据资源、种类、格式等。

PySpark提供了Spark集成的API,并允许在集群中的所有节点上使用Python的生态系统。更重要的是,它提供Python机器学习的库(如sklearn)和数据处理方法(pandas)。
PySpark的工作原理如下图:

对于cluster的详细架构图如图所示

第一幅图中白色的为python部分,如左侧Local中的Spark Context为python shell中可用的sc

右侧则表示了Spark具体Worker与python执行体的关系, 图2中是集群情况下Python Process的一些细节描述。
pyspark的具体api使用信息参见
https://spark.apache.org/docs/2.2.0/api/python/index.html
<https://spark.apache.org/docs/2.2.0/api/python/index.html>

Jupyter配置


假设Spark已经配置正常,pyspark也可以正常在shell中使用了,只不过此时使用的python是系统预置的,我们需要改成Anaconda3的IPython实现,为此在当前用户的
.bashrc或/etc/profile中增加配置
export PYSPARK_DRIVER_PYTHON=/webdev/app/anaconda3/bin/jupyter-notebook export
PYSPARK_DRIVER_PYTHON_OPTS=" --ip=0.0.0.0 --port=7777"
如此以来,在启动$SPARK_HOME/bin/pyspark时便可根据环境变量使用Anaconda的jupyter-notebook

注意以上export了PYSPARK_DRIVER_PYTHON与PYSPARK_DRIVER_PYTHON_OPTS
两个环境变量后,非shell的pyspark
生怕认可应用也将使用者jupyter-notebook,这必然引起混乱,所以推荐的还是在pyspark的启动命令中当时指定。
如:
master$ PYSPARK_DRIVER_PYTHON=/webdev/app/anaconda3/bin/jupyter-notebook
PYSPARK_DRIVER_PYTHON_OPTS=" --ip=0.0.0.0 --port=7777" pyspark --packages com.
databricks:spark-csv_2.11:1.1.0 --master spark://spark_master_hostname:7077 --
executor-memory 6400M --driver-memory 6400M
https://www.datacamp.com/community/tutorials/apache-spark-python#PySpark
<https://www.datacamp.com/community/tutorials/apache-spark-python#PySpark>

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信