linux下,执行pyspark代码 —— 实测有效:但是并不是所有的包都能够成功,一些很复杂的包或者对C依赖很深的包例如 numpy, pandas, scipy等,无法通过本方法实现,实现可以参考https://www.cnblogs.com/qi-yuan-008/p/12199152.html;对一些比较简单的 第三方site-packages包,本方法则可以实现。

1. 安装pycharm或者spyder,然后在其中编写代码和执行语句

2. 通过job来提交,即spark-submit提交,下面主要讲这种方法

首先假设,自己写的 *.py 文件包含了这些包,即通过import导入

import os
from pyspark import SparkContext
from pyspark.sql.session import SparkSession
from pyspark.sql import HiveContext
import jieba
from collections import Counter
from operator import itemgetter
import time
import ast
from pyspark.sql.types import StructField, StructType, StringType
from pyspark.sql import SQLContext

3. 那么利用spark-submit提交时,就需要将需要的包全部打包在一个zip文件中,注意的是:需要的包要先在同一个目录下,然后在该目录一起打包成zip文件,例如在有以上包的情形下,可以:

第一:建立一个文件夹,来存放所有包:

mkdir lib_words

第二:复制所需的包(一般都在python的安装目录的lib下,其中第三方库在site-packages里面)到该文件夹下,因为一个个选比较麻烦,所以就一起打包了,但是并未复制和打包pyspark库的包

cp -r /usr/local/python3.7/lib/python3.7/* /home/lib_words
cp -r /usr/local/python3.7/lib/python3.7/site-packages/* /home/lib_words

第三:打包zip

zip -r /home/lib_words.zip ./*

4. 在命令行,使用spark-submit提交 *.py主文件,并使用参数 '--py-files' 导入zip文件,然后回车执行

spark-submit /home/pycharm_projects/cut_words/cut_words_fre.py --py-files='/home/lib_words.zip'

附加首先通过在程序里面直接写入pyFiles参数(在SparkContext的参数中),然后直接提交运行:spark-submit /home/pycharm_projects/cut_words/cut_words_fre.py,实测也可

pyFiles=["/home/lib_words.zip"]#压缩的包的所在路径,可行
#pyFiles=["/home/test1.py","/home/test2.py"] #据说也可,但是因为文件太多,没有测试
sc = SparkContext('local', 'test', pyFiles=pyFiles)

结果最后,其中有一行会出现:

19:55:06 INFO spark.SparkContext: Successfully stopped SparkContext

附加2:通过 sc.addPyFile 方法也可以实现 (推荐)

sc = SparkContext('local', 'test')
sc.addPyFile(r'/root/test_words/lib_words.zip')

注:如果只有pyspark的包,可能不需要加入 *.zip 文件(未测试)

参考:

https://blog.csdn.net/lmb09122508/article/details/84586947

https://blog.csdn.net/MrLevo520/article/details/86738109

https://blog.csdn.net/qq_23860475/article/details/90479702

最新文章

  1. 不到一百行实现一个小siri
  2. kaggle 竞赛之套路
  3. Python脚本模拟登录网页之CSDN篇
  4. 每天php函数 - list()给一组变量赋值
  5. apache 上配置多个django工程
  6. 10.PHP 教程_PHP If...Else 语句
  7. C/C++ 语言中的表达式求值(原文作者:裘宗燕)
  8. 将本地web服务映射到公网访问
  9. 《编程语言实现模式》【PDF】下载
  10. ARC 103
  11. CSS多行文字超出隐藏加省略号
  12. 如何查看虚拟机的ip地址,以及如何给虚拟机配置静态ip
  13. vue-cli中全局组件的注册使用
  14. [Module] 08 - MVP by Mosby
  15. EasyUi TreeGrid/DataGrid getChecked BUG
  16. 〖Android〗CM10.2编译错误解决
  17. 阻塞队列之一:BlockingQueue汇总
  18. Appium+python自动化15-在Mac上环境搭建【转载】
  19. 7、python中的字典
  20. python中函数定义之实参、形参

热门文章

  1. Django:ORM中ForeignKey外键关系分析
  2. 大师Geoff Hinton关于Deep Neural Networks的建议
  3. mysql explain中key_len的作用
  4. Ajax基本概念
  5. 洛谷 题解 P1772 【[ZJOI2006]物流运输】
  6. [bzoj3420]Poi2013 Triumphal arch_树形dp_二分
  7. springboot(3):整合Servlet,filter,listener
  8. Python10之列表1(创建列表和列表添加元素的方法)
  9. AJAX一些注释掉的语句
  10. 【并发】7、借助redis 实现多线程生产消费队列