Spark scala api(一)RDD编程

本文介绍了Spark Scala API的基础,包括初始化Spark、创建和操作RDD,重点讲解了转化操作如map、filter和行动操作如count、foreach。还探讨了向Spark传递函数、常见转化和行动操作的使用,以及RDD之间的不同类型转化和持久化策略。
摘要由CSDN通过智能技术生成

基础

初始化spark

val conf = new SparkConf().setAppName("wordcount")
val sc = new SparkContext(conf)

转化操作和行动操作的区别在于spark计算rdd的方式不同,只有在第一次在一个行动操作中用到转化操作中的rdd时,才会真正计算这些rdd。

创建rdd

// 驱动器程序对一个集合进行并行化
val lines = sc.parallelize(List("pandas","i like pandas"))
//读取外部数据集
val lines = sc.textFile("/path/to/README.md")

rdd操作

  • 转化操作 例如filter()
    filter不会改变已有的inputRDD的数据

    val errorsRDD = inputRDD.filter(line => line.contains(“error”))

  • 行动操作 例如count()

    println("Input had " + badLinesRDD.count() + “concerning lines”)
    println(“Here are 10 examples:”)
    badLinesRDD.take(10).foreach(println)

向spark传递函数

我们可以把定义的内联函数,方法的引用或者静态方法传递给Spark


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值