通过在我的Linux终端(Spark版本2.4.4)中运行脚本初始化PySpark shell
我正在Linux计算机上使用PySpark。我的Spark版本是2.4.4 我有一个初始化基本入口点的小脚本,包括SparkContext、SQLContext和SparkSession。这是代码通过在我的Linux终端(Spark版本2.4.4)中运行脚本初始化PySpark shell,linux,shell,apache-spark,terminal,pyspark,Linux,Shell,Apache Spark,Terminal,Pyspark,我正在Linux计算机上使用PySpark。我的Spark版本是2.4.4 我有一个初始化基本入口点的小脚本,包括SparkContext、SQLContext和SparkSession。这是代码 from pyspark.sql import SQLContext sqlContext = SQLContext(sc) import pyspark.sql.functions as sqlfunc 我不想每次打开PySpark时都输入这个。因此,我想 a)在我的终端中运行此脚本 b)继续在
from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
import pyspark.sql.functions as sqlfunc
我不想每次打开PySpark时都输入这个。因此,我想
a)在我的终端中运行此脚本
b)继续在我的PySpark交互式shell中工作
我该怎么做?
我阅读下面这篇文章来学习如何在终端中运行PySpark脚本
它运行脚本,但没有打开PySpark shell,因此它不是我想要的。当打开PySpark shell时,
sparkSession
或sparkContext
已分别作为spark
或sc
提供
sparkSession
在Apache Spark v2.0上可用,早期版本将具有sc
作为sparkContext
:
编辑:
您可以编写用于导入所有内容和创建sparkContext、sqlContext等的代码,并以交互模式启动python shell
python -i yourfile.py
SparkSession是一个统一的功能,无需再次初始化 默认情况下,转到导入功能的其他部分,您可以使用
>>> execfile("<some name>.py")
在Pypark shell中
>>> execfile("scrp.py")
+---+---+---+
| a| b| c|
+---+---+---+
| 1| 2| 3|
| 2| 3| 4|
+---+---+---+
>>> df1.show()
+---+---+---+
| a| b| c|
+---+---+---+
| 1| 2| 3|
| 2| 3| 4|
+---+---+---+
>>> df1.withColumn("news", when(col("a") > 1, "t")).show()
+---+---+---+----+
| a| b| c|news|
+---+---+---+----+
| 1| 2| 3|null|
| 2| 3| 4| t|
+---+---+---+----+
希望能有帮助
>>> execfile("scrp.py")
+---+---+---+
| a| b| c|
+---+---+---+
| 1| 2| 3|
| 2| 3| 4|
+---+---+---+
>>> df1.show()
+---+---+---+
| a| b| c|
+---+---+---+
| 1| 2| 3|
| 2| 3| 4|
+---+---+---+
>>> df1.withColumn("news", when(col("a") > 1, "t")).show()
+---+---+---+----+
| a| b| c|news|
+---+---+---+----+
| 1| 2| 3|null|
| 2| 3| 4| t|
+---+---+---+----+