千家信息网

spark2.x由浅入深深到底系列七之python开发spark环境配置

发表于:2024-10-27 作者:千家信息网编辑
千家信息网最后更新 2024年10月27日,学习spark任何的技术前,请先正确理解spark,可以参考: 正确理解spark以下是在mac操作系统上配置用python开发spark的环境一、安装pythonspark2.2.0需要python
千家信息网最后更新 2024年10月27日spark2.x由浅入深深到底系列七之python开发spark环境配置

学习spark任何的技术前,请先正确理解spark,可以参考: 正确理解spark


以下是在mac操作系统上配置用python开发spark的环境


一、安装python

spark2.2.0需要python的版本是Python2.6+ 或者 Python3.4+


可以参考:

http://jingyan.baidu.com/article/7908e85c78c743af491ad261.html


二、下载spark编译包并配置环境变量


1、在官网中: http://spark.apache.org/downloads.html 下载版本为:spark-2.2.0-bin-hadoop2.6.tgz包

放到本地的某个盘中,然后解压。



2、设置环境变量:

cd ~

vi .bash_profile


export SPARK_HOME=/Users/tangweiqun/Desktop/bigdata/spark/spark-2.2.0-bin-hadoop2.6

export PATH=$PATH:$SCALA_HOME/bin:$M2_HOME/bin:$JAVA_HOME/bin:$SPARK_HOME/bin


source .bash_profile


3、需要对SPARK_HOME下的bin目录下的文件执行chmod 744 ./*,否则会报权限不足的错误

Window机器应该不用做这步



三、安装PyCharm

1、从官网: https://www.jetbrains.com/pycharm/download/中下载,然后傻瓜式安装



四、编写wordcount.py并运行成功


1、创建一个project

file --> New Project


2、给PyCharm配置PYTHONPATH

Run --> Edit Configurations,配置如下

点上面的"+",然后填上:

PYTHONPATH=/Users/tangweiqun/Desktop/bigdata/spark/spark-2.1.0-bin-hadoop2.6/python/:/Users/tangweiqun/Desktop/bigdata/spark/spark-2.1.0-bin-hadoop2.6/python/lib/py4j-0.10.4-src.zip

即将spark安装包中和python相关的依赖加上

3、py4j-some-version.zippyspark.zip加入到项目中

为了能看到源码,我们需要将项目关联源码,关联的方式如下:

点击+ Add Content Root将/Users/tangweiqun/Desktop/bigdata/spark/spark-2.1.0-bin-hadoop2.6/python/lib下的两个zip包加进去


4、编写spark word count,然后运行成功

创建一个python文件wordcount.py,内容如下:

from pyspark import SparkContext, SparkConf

import os
import shutil

if __name__ == "__main__":
conf = SparkConf().setAppName("appName").setMaster("local")
sc = SparkContext(conf=conf)

sourceDataRDD = sc.textFile("file:///Users/tangweiqun/test.txt")

wordsRDD = sourceDataRDD.flatMap(lambda line: line.split())

keyValueWordsRDD = wordsRDD.map(lambda s: (s, 1))

wordCountRDD = keyValueWordsRDD.reduceByKey(lambda a, b: a + b)

outputPath = "/Users/tangweiqun/wordcount"
if os.path.exists(outputPath):
shutil.rmtree(outputPath)

wordsRDD.saveAsTextFile("file://" + outputPath)

print wordCountRDD.collect()

右击运行成功



详细且系统的了解spark core RDD相关的Api可以参考:spark core RDD api原理详解

配置 环境 成功 参考 运行 变量 文件 源码 版本 系统 项目 关联 开发 操作系统 两个 傻瓜 内容 原理 技术 方式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发开发阶段会计处理 基于人工智能的数据库技术 如何建立有关系的数据库表 朝阳区网络技术咨询哪家好 腾讯云服务器怎么在手机上管理 网络安全管理平台报价 中职专业网络技术文章 db2 数据库表空间 网络技术专业要学什么软件 塔式服务器和普通主机有什么不同 金蝶数据库密码重置 系统管理不能登录加密服务器 为什么选择java软件开发 游戏服务器安装安全软件下载 中化集团网络安全运营中心 大安软件开发技术 沪科版网络技术教材 华为网络技术面试题详解 零基础学软件开发困难吗 孩子网络安全周 服务器无法启动光标一直闪烁 网络技术支持年终总结 淮安ios应用软件开发 入侵服务器管理权限 redis 创建数据库 花园战争2 ea服务器连不上 《网络安全法》的意义包括_ 赛龙舟视频软件开发 程控交换机软件开发 dns服务器有二个是怎么回事
0