Spark-Python基础操作


仅以使用为主,不讲求理解原理
参考:http://www.csdn.net/article/2015-04-24/2824552

1. 运行方式
1)spark主目录下bin/spark-submit test.py
2)bin/pyspark打开Python交互命令行
2. 初始化
conf=SparkConf().setAppName(appName).setMaster(master)
sc=SparkContext(conf=conf)
指定master并行数量,但是sc已经建立,这样直接运行会报错:(
通过--master可设置参数
./bin/pyspark --master local[4] 启动4线程
具体可参考pyspark -help看其他命令
3.RDD操作
1)集合并行化 
data = [1,2,3,4]
distdata = sc.parallelize(data)
2) 外部数据集
确保启动dfs,上传文件至hdfs
在hadoop目录下运行
hadoop fs -mkdir /usr/hadoop/input
hadoop fs -copyFromLocal /usr/local/test.txt /usr/hadoop/input
hadoop fs -ls /usr/hadoop/input
在pyspark中执行
file = "/usr/hadoop/input/test.txt"
distfile = sc.textFile(file)
3) 转化操作,根据惰性其并不立即执行,需要启动操作,例如:map
linelengths= distfile.map(lambda s:len(s))
4) 启动操作,立即执行,例如:reduce
linelengths.reduce(lambda a,b:a+b)
5)持久化RDD,便于重复使用结果
在reduce之前加入
linelengths.persist()
删除unpersist()
6) 广播变量,每台机器上保持一个只读变量缓存
broadcastVar= sc.broadcast([1,2,3,4])
broadcastVar.value
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值