栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

pyspark启动遇到的问题及解决方法

pyspark启动遇到的问题及解决方法

问题1:启动出现的问题
问题2:pyspark启动后tab键无法补全问题

问题1:启动出现的问题 现象1:

/usr/local/spark-2.3.3/bin/pyspark: 行 45: python:未找到命令 env: “python”: 没有那个文件或目录


现象2:

Python 3.8.10 (default, Sep 28 2021, 16:10:42)
[GCC 9.3.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
Traceback (most recent call last):
File “/usr/local/spark-2.3.0/python/pyspark/shell.py”, line 31, in
from pyspark import SparkConf
File “/usr/local/spark-2.3.0/python/pyspark/init.py”, line 46, in
from pyspark.context import SparkContext
File “/usr/local/spark-2.3.0/python/pyspark/context.py”, line 31, in
from pyspark import accumulators
File “/usr/local/spark-2.3.0/python/pyspark/accumulators.py”, line 97, in
from pyspark.cloudpickle import CloudPickler
File “/usr/local/spark-2.3.0/python/pyspark/cloudpickle.py”, line 146, in
_cell_set_template_code = _make_cell_set_template_code()
File “/usr/local/spark-2.3.0/python/pyspark/cloudpickle.py”, line 127, in _make_cell_set_template_code
return types.CodeType(
TypeError: an integer is required (got type bytes)

原因:

spark版本与python版本不兼容:

解决办法:
  1. 创建python组,将python3.8和python2.7加入候选项

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
    sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2
    
  2. 列出python组中的所有候选项。

    sudo update-alternatives --config python
    #选择python2.7版本
    要维持当前值[*]请按<回车键>,或者键入选择的编号:1
    

  1. 更新源、 更新已安装的包

    sudo apt-get update
    sudo apt-get upgrade
    

    注意:在进行upgrade操作时如果更新速度特别慢,不要犹豫换镜像源,更改方法参考下面这篇博文:ubuntu更改镜像源(软件源)

  2. 启动pyspark查看是否有spark的图标

    pyspark
    
-----------------------------------------------------手动分界线-----------------------------------------------------------------

如果未出现spark的图标继续向下操作



进入pyspark所在的目录,修改pyspark所依赖的python版本。

cd /usr/local/spark-2.3.0/bin
sudo vi pyspark

修改图中所示内容(注意要对应自己的python版本,我的python为2.7,我就改为python2.7)保存退出。

source ./pyspark

启动后出现spark的图标,搞定!!!

问题2:使用pyspark时,发现tab键无法补全 原因:python2未提供tab键补全功能 解决办法:

在python用户扩展包中新建一个文件tab.py。

sudo vi /usr/lib/python2.7/dist-packages/tab.py

内容如下:

try:
    import readline
except importError:
    print("Module readline not available.")
else:
    import rlcompleter
    readline.parse_and_bind("tab: complete")

保存退出后追加环境变量。

echo "PYTHonSTARTUP=/usr/lib/python2.7/dist-packages/tab.py" >> ~/.bashrc

更新一下环境变量:

source ~/.bashrc

再次输入pyspark进行测试会发现Tab键补全功能又能使用了,真香!!!

参考内容:

Linux下切换python2和python3

python终端下添加Tab键补全功能

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/311329.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号