没学过java的时候用Spark可能一开始就会直接用Python对接,因为如果是创建scala语言的话,会存在很多问题,包括生成scala类或者object,以及最终在idea里面编译成jar包,因为需求紧急,所以就直接用Python来写了,那么将写完的 python文件如果只是在某个集群中的一台机器上运行,那么会发现实际整个运转都是在本地执行的,并没有做到集群运算,所以这里需要使用的就是进入到spark安装目录的bin文件夹下,然后执行以下命令进行运行 。
./spark-submit --master spark://master:7077 /data/lin/code/RDD_rdad.py
然后提交后可以在spark master界面看到任务
然后总结下在使用spark集群环境的时候遇到的坑
1. 因为本人是使用的python下的pyspark来进行的调度,那么就需要用到python环境,这里需要注意的就是第一所有集群上的python环境要一致,
2. 包依赖的问题也是,要一致
3.提交到集群运行的时候除了在spark-submit中指定外,还可以在.py文件中的sparksession中指明,指定规范如下:
def CreateSparkContext():
# 构建SparkSession实例对象