pyspark快速入门

本文介绍了Pyspark的基本操作,包括使用SparkConf和SparkContext建立连接,通过parallelize和textFile创建RDD,运用map、reduceByKey、filter等转换操作,以及数据的持久化、收集和合并。还强调了广播变量的使用、数据类型注意事项和性能优化建议。
摘要由CSDN通过智能技术生成

1.SparkConf(LoadDefaults = True), 设置Spark的一些配置,例:conf. = SparkConf().setAppName("MyApplication")

2.SparkContext(conf = None),  一个SparkContext表示一个到Spark集群的连接,可以用来创建RDD和广播, 例:sc = SparkContext(conf = conf)

3.parallelize(Data), textFile(Path), 创建一个RDD,例:rdd = sc.parallelize([1,2,3,4,5]) ,  rdd = textFile("/root/log/*")

4.map(func), 对RDD做map操作, 例: rdd.map(lambda word : (word, 1))

5.reduceByKey(func), 对RDD做reduce操作, 例: rdd.reduceByKey(lambda value1, value2 : value1 + value2)

6.filter(func), 对RDD做筛选, 例:rdd.filter(lambda data : len(data) < 20)

7.saveAsTextFile(path), RDD保存到硬盘, 例:rdd.saveAsTextFile("/root/log/test")

8.cache(),数据持久化, 例 rdd.cache(); unpersist(),数据删除,例:rdd.unpersist()

9.collect():返回RDD的list   union(otherDataset):合并数据集     join(otherDataset):左连接  broadcast(value):广播一个只读变量到集群,使用返回值

   repartition(numPartitions):重新分片    flatMap():比map多一个扁平化处理   distinct():去重

 tips:

1.读入的字符串都是Unicode类型不是str类型

2.全局变量只能在普通函数中使用,map reduce函数中使用的变量需要广播,也就是集群共享的只读变量需要广播

3.如果在map reduce函数中exit会导致driver一直等待,这样程序会一直占用资源,阻塞其他任务。

4.combineByKey + reduce + flatMap == join,join十分耗时,一般不使用

5.collect()到drive,做单机处理很方便,如果数据量不大可以。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值