RDDs 介绍: 弹性分布式数据集,所有的计算都是通过 RDDs “创建-转换-完成”的
.textFile("/xx" ) 导入的文件过大时,会自动分割文件,在集群中分割
------------------------------------------------
.parallelize(x,x) 方法,将已存在的集合对象,按分区分片导入 RDD 对象
Scala 脚本语法: val 常量 var 变量 (可重新指向,但必须是同类型)
------------------------------------------------
Scala 语法: 匿名函数当做参数 .filter=>(line.contains("xx"))
Scala的匿名函数
Scala的匿名函数
Driver program:包含了main方法
sparkContext:链接spark集群,一般直接使用shell创建好的对象sc即可
rdds:弹性分布数据集,spark如果大数据量时会自动将片分配到每一个节点上,各个片的总名称就是rdds 对象
创建rdds的两种对象:
1.使用sc.prilize对象
2.使用sc.textFile()加载外部对象
3.scala:匿名函数和类型推断。
line2.Filter(line=>line.contains("world"))
即line2通过Filter的方法将每一行赋值给line,然后line在调用contains方法确认哪一行是否包含有world,这个单词,有则返回给line
RDD不可改变的分布式数据集合对象
所有的计算都是RDD的生成,转换操作完成
一个RDD内部由许多partitions分片组成
分片是并行处理单元, spark底层会并行的,或者顺行的处理。
RDDs创建#scala
val rdd= sc.parallelize(Array(1,2,3,4),4)
#参数1:待并行化处理的集合
#参数2:分区个数
rdd.count() //计算个数
rdd.foreach(println) //遍历
#加载外部数据
val rddText = sc.textFile("hello.txt")
Scala基础#变量
val 变量值不可修改
var 可指向类型相同的值
#匿名函数和类型推断 自动推断line是string类型,可调用contain方法
lines.filter(line => line.contains("world"))
RDDs创建
#scala val rdd= sc.parallelize(Array(1,2,3,4),4) #参数1:待并行化处理的集合 #参数2:分区个数 rdd.count() rdd.foreach(println) #加载外部数据 val rddText = sc.textFile("hello.txt")
Scala基础
#变量 val 变量值不可修改 var 可指向类型相同的值 #匿名函数和类型推断 自动推断line是string类型,可调用contain方法 lines.filter(line => line.contains("world"))
Drive Programs通过 SparkContext 对象访问Spark
SparkContext 对象(即sc) 代表和一个集群的连接
scala> val lines= sc.textFile("/home/soft/hello.txt") lines即为RDDs
RDDs弹性分布式数据集: 并行分布在整个集群中
RDDs是Spark分发数据和计算的基础抽象类
一个RDD是不可改变的分布式集合对象
Spark中所有计算都是RDD操作完成
分片:
一个RDD内部有许多partitions分片组成,
每个partition包含一部分数据, 可在集群不同节点计算
分片是Spark并行处理的单元
Driver Program
SparkContext
RDDs
RDD不可改变的分布式数据集合对象
所有的计算都是RDD的生成,转换操作完成
一个RDD内部由许多partitions分片组成
分片是并行处理单元, spark底层会并行的,或者顺行的处理。
Scala基础(2)
Scala基础
RDDs介绍(5)
RDDs介绍(4)
RDDs介绍(3)
RDDs介绍(2)
RDDs介绍
课程小结:
Scala的匿名函数和类型推断
匿名函数:
举例说明:
Scala的变量声明:
RDDs的创建方法:
加载外部数据集
代码示例:
RDDs的创建方法:
RDDs的分片:
RDDs:
RDDs:
SparkContext
Driver program:
RDD不可改变的分布式数据集合对象
所有的计算都是RDD的生成,转换操作完成
一个RDD内部由许多partitions分片组成
分片是并行处理单元, spark底层会并行的,或者顺行的处理。
RDDs(弹性数据集)即是加载外部数据集(被解析文件)赋值的变量或者是用parallelize方法将一个集合赋值给的变量,RDDs创建后就不会改变了,且是分片后放在不同机器上,并行处理分片就能加快速度
val定义的RDDs不可修改
var定义的可以修改为同类型的值
变量需要定义
=>表示。。。