运行python版本的Spark程序
2016-03-18 17:59
591 查看
两种方法:
使用 spark-submit 解释执行python脚本使用 python 解释执行python脚本
1. 使用Spark-submit解释执行python脚本
python脚本中需要在开头导入spark相关模块,调用时使用spark-submit提交,示例代码如下:===========================================================
"""odflow.py""" from pyspark import SparkContext fileDir = "/TripChain3_Demo.txt" # sc = SparkContext("local", "ODFlow") sc = SparkContext("spark://ITS-Hadoop10:7077", "ODFlow") lines = sc.textFile(fileDir) # python不能直接写多行的lambda表达式,所以要封装在函数中 def toKV(line): arr = line.split(",") t = arr[5].split(" ")[1].split(":") return (t[0]+t[1]+","+arr[11]+","+arr[18],1) r1 = lines.map( lambda line : toKV(line) ).reduceByKey(lambda a,b: a+b) # 排序并且存入一个(repartition)文件中 r1.sortByKey(False).saveAsTextFile("/pythontest/output")
===========================================================
发布命令为:
spark-submit \ --master spark://ITS-Hadoop10:7077 \ odflow.py
2. 使用 python 解释执行python脚本
直接用python执行会出现错误:ImportError: No module named pyspark ImportError: No module named py4j.java_gateway
缺少pyspark和py4j这两个模块,这两个包在Spark的安装目录里,需要在环境变量里定义PYTHONPATH,编辑~/.bashrc或者/etc/profile文件均可
vi ~/.bashrc # 或者 sudo vi /etc/profile # 添加下面这一行 export PYTHONPATH=$SPARK_HOME/python/:$SPARK_HOME/python/lib/py4j-0.8.2.1-src.zip:$PYTHONPATH # 使其生效 source ~/.bashrc # 或者 sudo source /etc/profile
然后关闭终端,重新打开,用python执行即可
python odflow.py
相关文章推荐
- Ubuntu上如何安装Java,Eclipse,Pydev,Python(自带,不用装),BeautifulSoup
- Ubuntu14.10上安装Python-pip
- 在Ubuntu中安装uwsgi(在python3.5环境下)
- Python程序在Eclipse控制台中乱码解决方法
- Python学习笔记--类和对象
- 解决python "Non-ASCII character"错误
- python的列表(一)
- python标准库学习2-OS
- 在windows xp x86中配置python开发环境
- python3.5之string
- 读python-class记录
- python 类定义编译执行
- Fatal Python error: PyImport_GetModuleDict: no module dictionary!
- win64下python2.7安装numpy
- python的版本切换
- 我的Python成长之路---第六天---Python基础(20)---2016年2月20日(晴)
- 把Sublime Text 2打造成一个轻量级Python的IDE
- 树莓派+python+web.py 搭建微信公众平台(1)
- [转]Introduction to Machine Learning with Python and Scikit-Learn
- 在win7上 python 无法安装 lxml的问题