Python 3.6 与 PySpark 环境搭建教程:一步步指南

一、环境准备

1. 系统要求

  • 已搭建 Hadoop 伪分布式集群(HDFS 和 YARN 正常运行)

  • Ubuntu 20.04 系统(默认预装 Python 3.8)

  • 确保系统 Python 3.8 不被破坏(关键系统组件依赖)

  • 2. 验证 Hadoop 环境

    bash

    复制

    下载

    # 检查HDFS服务状态
    jps | grep -E 'NameNode|DataNode|ResourceManager|NodeManager'
    
    # 验证HDFS操作
    hdfs dfs -ls /

    二、Python 3.6 安装配置

    1. 检查现有 Python 环境

    bash

    复制

    下载

    ls -l /usr/bin/python*
    python3 --version

    2. 添加第三方软件源

    bash

    复制

    下载

    # 安装必要工具
    sudo apt update
    sudo apt install software-properties-common -y
    
    # 添加 Deadsnakes PPA
    sudo add-apt-repository ppa:deadsnakes/ppa
    sudo apt update

    3. 安装 Python 3.6

    bash

    复制

    下载

    sudo apt install python3.6 python3.6-dev python3.6-venv -y
    
    # 验证安装
    /usr/bin/python3.6 --version

    4. 配置替代版本

    bash

    复制

    下载

    sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
    sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2
    
    # 切换Python版本
    sudo update-alternatives --config python3

    选择 Python 3.6 对应的编号

    三、PySpark 环境配置

    1. 设置环境变量

    bash

    复制

    下载

    # 编辑全局配置文件
    sudo vim /etc/profile
    
    # 添加以下内容
    export PYSPARK_PYTHON=/usr/bin/python3.6
    export PYSPARK_DRIVER_PYTHON=/usr/bin/python3.6
    
    # 使配置生效
    source /etc/profile

    2. 验证 PySpark

    bash

    复制

    下载

    # 启动PySpark Shell
    pyspark
    
    # 在Shell中测试
    >>> sc.version
    >>> sc.textFile("file:///etc/passwd").count()

    四、pip 工具配置

    1. 安装 pip

    bash

    复制

    下载

    # 为Python3.6安装pip
    curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6
    
    # 验证安装
    pip3.6 --version

    2. 配置国内镜像源

    bash

    复制

    下载

    # 创建pip配置目录
    mkdir -p ~/.pip
    
    # 配置清华镜像源
    cat > ~/.pip/pip.conf <<EOF
    [global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    trusted-host = pypi.tuna.tsinghua.edu.cn
    EOF

    3. 常用包安装

    bash

    复制

    下载

    pip3.6 install numpy pandas matplotlib jupyter

    五、Spark 目录结构说明

    目录 用途说明
    bin/ 可执行脚本(pyspark、spark-shell等)
    conf/ 配置文件(spark-env.sh等)
    jars/ 依赖的Java库
    python/ PySpark源代码和依赖
    examples/ 示例程序

    六、关键注意事项

    1. 版本兼容性

    2. Spark 2.4.x 支持 Python 3.6+

    3. Spark 3.0+ 需要 Python 3.7+

    4. HDFS 权限管理

      bash

      复制

      下载

      # 设置HDFS目录权限
      hdfs dfs -mkdir /user/spark
      hdfs dfs -chown spark:spark /user/spark
    5. 资源限制调整(spark-env.sh):

      bash

      复制

      下载

      export SPARK_DRIVER_MEMORY=1g
      export SPARK_EXECUTOR_MEMORY=2g
    6. 虚拟环境使用(可选):

      bash

      复制

      下载

      python3.6 -m venv pyspark_env
      source pyspark_env/bin/activate
      pip install pyspark findspark

    七、验证测试

    1. 本地文件读写测试

    python

    复制

    下载

    from pyspark import SparkContext
    sc = SparkContext("local", "TestApp")
    
    # 本地文件测试
    local_file = sc.textFile("file:///etc/hosts")
    print(local_file.count())

    2. HDFS 文件操作测试

    python

    复制

    下载

    # HDFS文件测试(需先上传测试文件)
    hdfs_file = sc.textFile("hdfs://localhost:9000/test/input.txt")
    print(hdfs_file.first())

    3. Web UI 访问

  • Spark UI: http://localhost:4040

  • YARN UI: http://localhost:8088

  • 故障排查指南

    1. Python版本问题

      bash

      复制

      下载

      # 检查PySpark使用的Python版本
      pyspark --version
    2. 依赖冲突

      bash

      复制

      下载

      # 查看冲突的Python包
      pip3.6 list --format=columns
    3. 内存不足

      bash

      复制

      下载

      # 调整Spark内存设置
      echo "export SPARK_EXECUTOR_MEMORY=2g" >> $SPARK_HOME/conf/spark-env.sh
    4. HDFS连接失败

      bash

      复制

      下载

      # 检查HDFS服务状态
      hdfs dfsadmin -report

    作者:2501_90846564

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python 3.6 与 PySpark 环境搭建教程:一步步指南

    发表回复