spark-submit之使用pyspark
在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
spark-submit之使用pyspark的更多相关文章
- 【原创】大数据基础之Spark(1)Spark Submit即Spark任务提交过程
Spark2.1.1 一 Spark Submit本地解析 1.1 现象 提交命令: spark-submit --master local[10] --driver-memory 30g --cla ...
- spark submit参数及调优(转载)
spark submit参数介绍 你可以通过spark-submit --help或者spark-shell --help来查看这些参数. 使用格式: ./bin/spark-submit \ -- ...
- spark submit local遇到路径hdfs的问题
有时候第一次执行 spark submit --master local[*] 单机模式的时候,可以对linux本地路径进行输出.但是有时候提交到yarn的时候,是自动加上hdfs的路径这没问题, 但 ...
- Spark应用程序部署工具Spark Submit
不多说,直接上干货! spark-submit在哪个位置 [spark@master ~]$ cd $SPARK_HOME/bin [spark@master bin]$ pwd /usr/loca ...
- spark standalone ha spark submit
when you build a spark standalone ha cluster, when you submit your app, you should send it to the l ...
- spark submit参数及调优
park submit参数介绍 你可以通过spark-submit --help或者spark-shell --help来查看这些参数. 使用格式: ./bin/spark-submit \ ...
- spark submit 入门
spark dirver本质是一个spark集群的驱动程序,你要调用spark集群的计算功能,必须要通过它! from pyspark import SparkConf, SparkContext c ...
- pycharm编写spark程序,导入pyspark包
一种方法: File --> Default Setting --> 选中Project Interpreter中的一个python版本-->点击右边锯齿形图标(设置)-->选 ...
- spark 2.0 中 pyspark 对接 Ipython
pyspark 2.0 对接 ipython 在安装spark2.0 后,以往的对接ipython方法失效,会报如下错错误: 因为在spark2.0后对接ipython的方法进行了变更我们只需要在py ...
- Spark Shell & Spark submit
Spark 的 shell 是一个强大的交互式数据分析工具. 1. 搭建Spark 2. 两个目录下面有可执行文件: bin 包含spark-shell 和 spark-submit sbin 包含 ...
随机推荐
- 推荐一款好用的 office word 的markdown插件 - Writage
软件地址:http://www.writage.com/
- 【git基础】Permission denied (publickey). fatal: Could not read from remote repository
运行以下git命令的时候出现错误 git push -u origin master error The authenticity of host 'github.com (13.250.177.22 ...
- 【warning】set the environment variable MXNET_CUDNN_AUTOTUNE_DEFAULT to 0 to disable
前言 运行mxnet程序的时候出现这个warning信息,但是不影响整个程序的运行,不过宝宝喜欢将warning信息尽量也clear,强迫症嘛?!哈哈哈哈 问题描述 [::] src/operator ...
- 【Leetcode_easy】994. Rotting Oranges
problem 994. Rotting Oranges 参考 1. Leetcode_easy_994. Rotting Oranges; 完
- java程序cpu问题排查
方法一: 转载:http://www.linuxhot.com/java-cpu-used-high.html 1.jps 获取Java进程的PID. 2.jstack pid >> ja ...
- PHP 菠菜木马代码
<?php error_reporting(E_ERROR);@ini_set('display_errors', 'Off');@ini_set('max_execution_time', 2 ...
- LeetCode 53. 最大子序和(Maximum Subarray)
53. 最大子序和 53. Maximum Subarray 题目描述 给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. LeetCode53. M ...
- [转帖]iis最大并发连接数、队列长度、最大并发线程数、最大工作进程数
iis最大并发连接数.队列长度.最大并发线程数.最大工作进程数 2018-10-17 12:49:03 牛兜兜 阅读数 2952 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议 ...
- 剑指offer61:序列化二叉树
1 题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存.序列化可以基于先 ...
- csdn博客整理
@TOC 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown ...