0


spark复习题

Sparkf复习

主要框架

RDD 为项目团队提供了一个明确的框架,以便在整个项目周期内对项目进行管理和控制

叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合

SQL(DataFrame) 索引和切片 数据清洗 数据转换 计算和统计 排序和排名 条件筛选

Streaming 支持可扩展的、高吞吐量的、容错的实时数据流处理

Graphx 图形和图形并行计算的组件,实现了大规模图计算

图构建和操作 图算法 顶点属性和边属性 分布式计算 图切割

MLlib 其是Apache Spark的机器学习库,它提供了一系列常用的机器学习算法和工具,用于数据预处理、特征工程、模型训练和评估等任务

Sprak支持的语言:Scala java python R

Python下使用Spark:PySpark支持所有主要框架(Graphx除外)

Transform函数:延迟执行ma,filter,groupBy,join

Action函数:立即执行count,collect,save,reduce,take

无监督学习:聚类PCA、k-means

有监督学习:有学习样本的、回归、决策树、深度学习

scala语法

val和var的区别

1.val(value)用于声明不可变的变量,一旦赋值之后,其值就不能被改变,类似于Java中的final变量。

使用val声明的变量不能重新赋值,尝试这样做会导致编译错误。

即使是对于可变类型的对象,如Map,使用val声明的引用本身是不可变的,但对象的内容是可以被修改的

2.var(variable)用于声明可变的变量,可以在其生命周期内被重新赋值。

使用var声明的变量可以改变其值,但是变量的类型一旦在初始化时确定,就不能改变。即var变量可以在同一类型之间进行赋值和修改,但不能跨类型修改。

函数的定义、if-else语句、采用for循环遍历数组(采用下标遍历和直接遍历)

下标遍历:for(a < -0 to 10)

直接遍历:for(ele < -数组/List)

循环过滤:for(a < -0 to 10 if a%2 == 0)
前面的a < -0 to10,应该是从0到9(不包括10)
加上后面的a%2 == 0,就是从0到9中间筛选偶数

双for循环遍历

元组A中的元素引用:A_1表示第一个元素

RDD

RDD的构建:读取文件textFile、array或list构建Paralize
RDD遍历打印:collect后foreach(println)
RDD的结构:RDD[KEY,VALUE],举例:RDD[KEY,{VA,VB}], RDD[KEY,VA]
RDD的join、groupby都是针对KEY的
KEY不支持复杂类型
RDD内、左外、右外、全连接函数:join,rightOuterJoin,leftOuteroin,fullQuterJoin
reduceByKey的作用 按照相同的key,对value进行聚合(求和)
SQL(DataFrame)
结构:与Pandas相同,每列都有自己的类型,DataFrame[A,B,C]
可以针对每一列join,groupby
groupBy("列名“)
join(col("列名"))、join(col("列名"),"left")、join(col("列名"),"right")、join(col("列名"),"full")
遍历打印:show0默认20条,show(number)可打印number条,show{lnt.MaxValue)所有
改列名:withColumnRenamed
GraphX
不可以从外部修改vetex和Edge
Graph[KEY,VALUEI是一个RDD,KEY:顶点的属性,VALUE:边的属性


本文转载自: https://blog.csdn.net/m0_74118859/article/details/143908107
版权归原作者 湘.. 所有, 如有侵权,请联系我们删除。

“spark复习题”的评论:

还没有评论