Spark-Core常用算子总结(干货)

前言

前段时间又重新回顾了一下Spark的知识,真的是 蓦然回首,那人却在,灯火阑珊处,第一遍迷迷糊糊的走马观花了一遍,一点感觉都没有,第二遍,第三遍,就会发现不一样的东西,真的是印证了孔子的那句话 温故而知新
我写这篇博客已经是我第三遍学习Spark了,将来肯定会有第四遍、第五遍…

Spark分为
1、Spark-Core:Spark最核心的部分,所有的都基于Core,比如RDD的转换

2、SparkSql:Spark对结构化数据的SQl语法支持、可以结合Hive、Hbase等

3、Spark-Streaming:Spark对实时计算、流式计算的支持,Spark-Streaming仅仅是微批处理,本质还是批处理,只是将处理时间缩小到秒级
还有最近很火爆的Flink,和SparkStreaming相反,它是将流处理看成批处理,将无界的数据当成有界的来处理,Flink可以批处理,也可以实时处理。但是SparkStreaming相反,将有界数据当成无界来实时处理,要说两者的区别,这一点就是天差地别了。



1、Action算子

spark是懒加载的,只有action算子才可以触发一系列的rdd操作,如果其中一个rdd要重新计算,那么rdd链前面的rdd全部要重新计算,如果设置了检查点或者暂时落地到磁盘,就可以加快速度

collect:打印rdd所有元素,一般数据较大不会用这个,一般用于调试

count:rdd内数据个数还有countBykey 道理一样

first:返回第一个元素

take(n):返回前n个元素,不排序

你可能感兴趣的:(Spark基础)