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:边的属性
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |