pyspark入门

SparkContext是任何spark功能的入口点,sc。

class pyspark.SparkContext (
   master = None, #连接到的集群的URL
   appName = None, #工作名称
   sparkHome = None,
   pyFiles = None, #要发送到集群并添加到PYTHONPATH的.zip或.py文件
   environment = None, #工作节点环境变量
   batchSize = 0, #为单个Java对象的Python对象的数量。设置1以禁用批处理,设置0以根据对象大小自动选择批处理大小,或设置为-1以使用无限批处理大小
   serializer = PickleSerializer(), #RDD序列化器。
   conf = None, #L {SparkConf}的一个对象,用于设置所有Spark属性
   gateway = None,
   jsc = None,
   profiler_cls = <class 'pyspark.profiler.BasicProfiler'>
)

case: 

from pyspark import SparkContext

def lcut(line):
    return jieba.lcut(line)

sc = SparkContext(master="local", appName="First App")
# sparkConf = SparkConf().setAppName('Python').setMaster('local') 或者这样
# sc = SparkContext(conf=sparkConf)
text = sc.textFile("file:/root/.../A.txt")
# 是file:/root/.../A.txt MapPartitionsRDD[1] at textFile at NativeMethodAccessorImpl.java:0
word_list = text.map(lcut).collect() #比直接for loop快将近一倍

速度对比:

RDD(Resilient Distributed Dataset),它们是在多个节点上运行和操作以在集群上进行并行处理的元素。主要有Transformation(如Filter、groupBy、map)和Action两种操作  https://codingdict.com/article/8883 

word_list= sc.parallelize(word_list) #其实原本就是RDD了,现在是变成并行化
print(word_list.count())

文件操作大全 https://blog.csdn.net/wc781708249/article/details/78251701

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值