美文网首页
【Spark学习笔记】Scala基础(一)

【Spark学习笔记】Scala基础(一)

作者: 不可能打工 | 来源:发表于2019-07-23 16:41 被阅读0次

RDDs的创建方法:

加载外部数据集
val rddText=sc.textFile("helloSpark.txt")

Scala变量声明:

val:变量值不可修改,一旦分配不能重新指向别的值
var:分配后,可以指向类型相同的值

val lines=sc.textFile("helloSpark.txt")
lines=sc.textFile("helloSpark.txt")
var lines=sc.textFile("helloSpark.txt")
lines=sc.textFile("helloSpark2.txt")

Scala的匿名函数和类型推断

lines.filter(line=>line.contains("world"))

定义一个匿名函数,接受一个参数line,使用line这个String类型变量上的contains方法,并且返回结果。line的类型不需要指定,能够推断出来。

Transformation

Transformations(转换),从之前的RDD
构建一个新的RDD,像map()和filter()

  • 逐元素Transformation
    map():map()接受函数,把函数应用到RDD的每一个元素,返回新的RDD。

val lines=sc.parallelize(Array("hello","spark","hello","world","!"))
lines.foreach(println)
hello
spark
hello
world
!

val lines2=lines.map(word=>(word,1))
lines2.foreach(println)
(hello,1)
(spark,1)
(hello,1)
(world,1)
(!,1)

  • flatMap():
    对每个输入元素,输出多个输出元素。flat压扁的意思,将RDD中元素压扁后返回一个新的RDD。

inputs.foreach(println)
hello !
hello spark
hello world
val lines=inputs.flatMap(line=>line.split(" "))
lines.foreach(print)
hellosparkhelloworldhello! #拆开打散压扁了

集合运算

RDDs支持数学集合的计算,例如并集,交集计算。

val rdd1=sc.parallelize(Array("caffe","caffe","panda","monkey","tea"))
val rdd2=sc.parallelize(Array("caffe","monkey","kitty"))

  • 去重

val rdd_distinct=rdd1.distinct()
rdd_distinct.foreach(println)
monkey
coffe
panda
tea

  • 并集

rdd_union=rdd1.union(rdd2)
rdd_union.foreach(println)
caffe

caffe
panda
monkey
tea
caffe
monkey
kitty

  • 交集

val rdd_inter=rdd1.intersection(rdd2)
rdd_inter.foreach(println)
monkey
coffe

  • 减集

val rdd_sub=rdd1.subtract(rdd2)
rdd_sub.foreach(println)
tea
panda

相关文章

  • Spark技术实战之基础篇

    Spark技术实战之基础篇 -Scala语言从入门到精通为什么要学习Scala?源于Spark的流行,Spark是...

  • 从零开始学习Spark(二)Scala基础

    Scala基础 Spark的原生语言是Scala,因此入门一下Scala是学习Spark的第一步,下面就快速入门一...

  • 【Spark学习笔记】Scala基础(一)

    RDDs的创建方法: 加载外部数据集val rddText=sc.textFile("helloSpark.txt...

  • Scala笔记

    Scala基础 学习twitter的scala教程的笔记 函数 函数定义,scala语法中可以使用多种方式定义函数...

  • SparkCore基础(一)

    * SparkCore基础(一) 学习Spark,首先要熟悉Scala,当然你说你会Python或者Java能不能...

  • spark

    *Spark Spark 函数Spark (Python版) 零基础学习笔记(一)—— 快速入门 1.map与fl...

  • spark集群搭建

    在上篇基础上安装spark集群 安装scala scala-2.13.2.tgz 链接: https://pan....

  • Scala编程基础1:Scala简介

    因为Spark是基于Scala编程的,所以在进入Spark学习之前,我们有必要先来学习一下Scala语言的相关知识...

  • Spark原理简述

    Spark 学习: spark 原理简述与 shuffle 过程介绍 简述总结 Spark 是使用 scala 实...

  • 搭建scala开发环境

    最近总结了下scala的基础知识,分享下 scala简介 spark的原生语言是Scala,具体的大家可以自行百度...

网友评论

      本文标题:【Spark学习笔记】Scala基础(一)

      本文链接:https://www.haomeiwen.com/subject/egqalctx.html