在本系列文章中,我们将会从零开始学习PySpark。
前言
Apache Spark是Scala语言实现的一个计算框架。为了支持Python语言使用Spark,Apache Spark社区开发了一个工具PySpark。利用PySpark中的Py4j库,我们可以通过Python语言操作RDDs。
本系列文章是PySpark的入门手册,涵盖了基本的数据驱动的基本功能以及讲述了如何使用它各种各样的组件。
本手册主要针对那些想要从事实时计算框架编程的用户。本手册的目的是让读者能够轻松的了解PySpark的基本功能并快速入门使用。
本手册中我们假定读者已经有了一些基本的编程语言基础以及了解什么是编程框架。此外,如果读者有一些Apache Spark, Hadoop, Scala, HDFS和Python的基础,那么学习下面的内容将会事半功倍。
概述
Spark概述
Apache Spark是一个流行的实时处理框架,它可以通过内存计算的方式来实时的进行数据分析。它起源于Apache Hadoop MapReduce,然而Apache Hadoop MapReduce只能进行批处理,但是无法实现实时计算;为了弥补这一缺陷,Apache Spark对其进行了扩展,除了批处理外,同时支持了数据的实时计算。
除了批处理和实时计算外,Apache Spark还支持了交互式查询与迭代式算法等特性。此外,Apache Spark有自己的集群管理方式来支持其应用。它利用了Apache Hadoop的存储和计算能力,同时,它也使用了HDFS来存储并且可以通过YARN来运行Spark应用。
PySpark概述
Apache Spark是Scala语言实现的一个计算框架。为了支持Python语言使用Spark,Apache Spark社区开发了一个工具PySpark。利用PySpark中的Py4j库,我们可以通过Python语言操作RDDs。
PySpark提供了PySpark Shell,它是一个结合了Python API和spark core的工具,同时能够初始化Spark环境。目前,由于Python具有丰富的扩展库,大量的数据科学家和数据分析从业人员都在使用Python。因此,PySpark将Spark支持Python是对两者的一次共同促进~
环境搭建
Step1:安装Java和Scale。
Step2:在Apache Spark官网中下载Apache Spark。本文中以spark-2.1.0-bin-hadoop2.7
为例。
Step3:解压压缩包并设置环境变量:
tar -xvf Downloads/spark-2.1.0-bin-hadoop2.7.tgz
export SPARK_HOME = /home/hadoop/spark-2.1.0-bin-hadoop2.7
export PATH = $PATH:/home/hadoop/spark-2.1.0-bin-hadoop2.7/bin
export PYTHONPATH = $SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH
export PATH = $SPARK_HOME/python:$PATH
Step4:进入Spark目录并进入PySpark shell:
代码语言:javascript复制./bin/pyspark