如标题所述,我该如何知道在CentOS中安装了哪个版本的Spark?
当前系统已安装cdh5.1.0。
如标题所述,我该如何知道在CentOS中安装了哪个版本的Spark?
当前系统已安装cdh5.1.0。
import util.Properties.versionString
import org.apache.spark.sql.SparkSession
val spark = SparkSession
.builder
.appName("my_app")
.master("local[6]")
.getOrCreate()
println("Spark Version: " + spark.version)
println("Scala Version: " + versionString)
from pyspark.context import SparkContext
from pyspark import SQLContext, SparkConf
sc_conf = SparkConf()
sc = SparkContext(conf=sc_conf)
print(sc.version)
使用python script.py
或python3 script.py
来运行脚本。
上述脚本也适用于Python shell。
直接在Python脚本中使用print(sc.version)
将不起作用。如果直接运行,您将收到此错误:NameError: name 'sc' is not defined
。
sc
的SparkContext
对象,并按下面代码中所示调用版本:docker run -p 8888:8888 jupyter/pyspark-notebook ##in the shell where docker is installed
import pyspark
sc = pyspark.SparkContext('local[*]')
sc.version
ammonites@ org.apache.spark.SPARK_VERSION
res4: String = "2.4.5"
非交互式的方式,我正在使用它来正确安装AWS EMR适当的PySpark版本:
# pip3 install pyspark==$(spark-submit --version 2>&1| grep -m 1 -Eo "([0-9]{1,}\.)+[0-9]{1,}")
Collecting pyspark==2.4.4
解决方案:
# spark-shell --version 2>&1| grep -m 1 -Eo "([0-9]{1,}\.)+[0-9]{1,}"
2.4.4
解决方案:
# spark-submit --version 2>&1| grep -m 1 -Eo "([0-9]{1,}\.)+[0-9]{1,}"
2.4.4
SPARK_VERSION=$(spark-shell --version &> tmp.data ; grep version tmp.data | head -1 | awk '{print $NF}';rm tmp.data)
echo $SPARK_VERSION
sc = SparkContext.getOrCreate(conf=sc_conf)
。不要像这样写:sc = SparkContext(conf=sc_conf)
! - toom