pycharm 上运行 pyspark demo

import pyspark
from pyspark import SparkConf, SparkContext
import os
import sys
os.environ['PYSPARK_PYTHON'] = sys.executable
os.environ['PYSPARK_DRIVER_PYTHON'] = sys.executable
if __name__ == '__main__':
    # 创建 SparkConf 对象并设置应用名称和主节点
    conf = SparkConf() \
        .setAppName("test") \
        .setMaster("local[*]") \
    # 创建 SparkContext 对象
    sc = SparkContext(conf=conf)
    # 创建一个列表
    data = [1, 2, 3, 4, 5]
    # 将列表转换为 RDD
    distData = sc.parallelize(data)
    # 使用 reduce 方法计算 RDD 中所有元素的和
    x = distData.reduce(lambda a, b: a + b)
    # 打印结果
    print(x)
    # 停止 SparkContext
    sc.stop()
### PyCharm 中配置 PySpark 的教程 #### 1. 环境准备 为了成功运行 PySpark,在本地环境中需要预先安装 Java、Scala 和 Spark。此外,还需要安装 Anaconda 或者 Python 解释器来支持 PyCharm 的开发环境[^1]。 编辑 `.bash_profile` 文件并确保以下变量已正确定义: ```bash export JAVA_HOME=/path/to/java export SPARK_HOME=/path/to/spark export PYTHONPATH=$SPARK_HOME/python:$PYTHONPATH ``` 其中 `PYTHONPATH` 应指向 Spark 下的 Python 路径,例如 `/export/servers/spark-2.3.1-bin-hadoop2.7/python`[^2]。 执行命令使更改生效: ```bash source ~/.bash_profile ``` --- #### 2. 创建 PyCharm 项目 打开 PyCharm 并创建一个新的项目。选择 **Pure Python** 类型,并指定解释器为 Conda 虚拟环境。如果尚未安装 Anaconda,请先完成其安装过程[^3]。 在新建项目的对话框中: - 设置 Python 版本为 3.7; - 命名虚拟环境后点击 **Create** 完成初始化。 --- #### 3. 添加必要的依赖库 进入菜单栏中的 **File -> Settings** 页面,导航至 **Project: <Your Project Name> -> Python Interpreter**。在此页面中通过搜索功能依次安装以下包: - pyspark - py4j - psutil 对于每个包,找到对应的选项卡后点击 **Install Package** 进行下载和安装操作。 --- #### 4. 配置环境变量 返回到 **Settings** 页面下的 **Project Structure** 板块或者直接访问 **Run/Debug Configurations**: 1. 找到当前使用的 Python 解释器位置; 2. 将 `%SPARK_HOME%/python` 及其子目录(如 `%SPARK_HOME%/python/lib/py4j-<version>-src.zip`)添加到系统的模块路径列表里。 具体方法如下: - 在顶部工具条处点击带有倒三角形的小图标展开更多选项; - 选取最后一项 “Show All…” 后弹出新的窗口界面; - 使用右侧标注有加号 (+) 的按钮引入上述两个文件夹地址作为额外资源加载进来。 完成后可以观察到这些新增内容已被正确关联到了工程结构当中。 --- #### 5. 编写测试代码验证配置有效性 最后编写一段简单的 Pyspark 测试脚本来确认整个流程无误: ```python from pyspark import SparkContext, SparkConf conf = SparkConf().setAppName("TestApp").setMaster("local[*]") sc = SparkContext.getOrCreate(conf) data = sc.parallelize([1, 2, 3, 4]) result = data.map(lambda x: x * x).collect() print(result) ``` 运行此程序应输出 `[1, 4, 9, 16]` 表明一切正常工作。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值