spark Rdds介绍

Driver program:

包含main方法,RDDs定义和操作

管理很多节点,executors


SparkContext:

 Driver program通过spark context对象访问spark, 代表和一个集群的连接,在shell中自动创建好,就是sc


RDDs,

弹性分布式数据集Resilient distributed datasets,并行分别在集群中

val lines= sc.textFile()

lines就是RDDs,代表整个文件,不管被切分为多少份

分发数据和计算的基础数据类

lines.count()

一个RDDs代表不可改变的分布式集合对象

spark上所有的计算都是通过 RDDs的创建,转换,操作来完成的

一个RDD内部有很多partitions组成

分片:

每个分片包含一部分数据,partitions可以在集群不同节点上计算

lines.count()  每台计算都会进行计算,然后汇总

分片是spark并行处理单元,spark顺序,并行的处理分片


RDDs的创建方法

把一个存在的集合传给sparkContext的parallelize()方法,测试用

val rdd = sc.parallelize(Array(1,2,2,4),4) 分区

第一个参数:待并行化处理的集合,第二个参数:分区个数

 rdd.count()

rdd.foreach(print)查看所有对象,测试用

先打印哪一个是随机的


加载外部数据集,textfile


Scala基础知识

Scala变量声明: 必须使用val或var

val变量不可修改,一旦分配不能重新指向别的值

var,分配后可指向相同类型的值

val lines= .sc.textFile("hellospark1.txt")

lines = sc.textFile("hellospark2.txt")    报错reassignment to val

var lines2.=sc.textFile("hellospark1.txt")

lines2 = .sc.textFile("hellospark2.txt")   成功


Scala匿名函数

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

匿名函数,接受一个参数line,判断是否包含单词world

lines.foreach(line)          


类型判断,可以自己推断出类型,不用定义



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值