使用pyspark shell进行交互式分析
在进行数据分析的时候,通常需要进行交互式数据探索和数据分析。为此,PySpark提供了一个交互式的工具pyspark shell。通过Spark Shell,用户可以和PySpark进行实时交互,以进行数据探索、数据清洗和整理以及交互式数据分析等工作。
pyspark shell命令格式如下所示:
$ ./bin/pyspark [options]
要查看完整的参数选项列表,可以执行“pyspark --help”命令,如下:
$ pyspark --help
运行模式--master
Spark/PySpark的运行模式取决于传递给SparkContext的Master URL的值。参数选项“--master”表示当前的pyspark shell要连接到哪个master(即告诉Spark/PySpark使用哪种集群类型)。
如果是local[*],就是使用本地模式启动pyspark shell,其中,中括号内的星号(*)表示需要使用几个CPU核,也就是启动几个线程模拟Spark集群。如果不指定,则默认为local。
当运行pyspark shell命令时,像下面这样定义这个参数:
$ pyspark --master
启动和退出pyspark shell
以下操作均在终端窗口中进行。
1)启动pyspark shell方式一:local模式
$ cd ~/bigdata/spark-3.1.2 $ ./bin/pyspark
然后可以看到如下的启动过程:
从上图中可以看出,pyspark shell在启动时,已经帮我们创建好了SparkSession对象的实例spark(实际上也包括SparkContext对象的实例sc),我们可以在pyspark shell中直接使用sc和spark这两个对象。另外,默认情况下,启动的pyspark shell采用local部署模式。
退出pyspark shell,使用如下命令:
>>> exit()
2)启动Spark Shell方式二:standalone模式
首先要确保启动了Spark集群:
$ cd ~/bigdata/spark-3.1.2 $ ./sbin/start-all.sh
使用jps命令查看启动的进程。如果有master和worker进程,说明Spark集群已经启动。
然后启动pyspark shell,并指定--master spark://xueai8:7077参数,以standalone模式运行:
$ ./bin/pyspark --master spark://xueai8:7077
在Master URL中指定的xueai8是当前的机器名。
pyspark shell常用命令
可以在pyspark shell里面输入python代码进行调试:
可以pyspark shell中键入以下命令,查看pyspark shell常用的命令:
>>> help()
如下图所示:
可以help模式下键入模块的名称,查看该模块的使用说明:
help> pyspark.sql
会显示如下的使用说明界面:
按q键退出help帮助界面,输入exit()命令,返回shell命令行。