1)输入:在Spark程序运行中,数据从外部数据空间(如分布式存储:textFile读取HDFS等,parallelize方法输入Scala集合或数据)输入Spark,数据进入Spark运行时数据空间,转化为Spark中的数据块,通过BlockManager进行管理。
2)运行:在Spark数据输入形成RDD后便可以通过变换算子,如fliter等,对数据进行作并将RDD转化为新的RDD,通过Action算子,触发Spark提交作业。 如果数据需要复用,可以通过Cache算子,将数据缓存到内存。
3)输出:程序运行结束数据会输出Spark运行时空间,存储到分布式存储中(如saveAsTextFile输出到HDFS),或Scala数据或集合中(collect输出到Scala集合,count返回Scala int型数据)。Spark的核心数据模型是RDD,但RDD是个抽象类,具体由各子类实现,如MappedRDD、 ShuffledRDD等子类。 Spark将常用的大数据操作都转化成为RDD的子类。
相关文章
- 03-01如何使用yolov3训练自己的数据集
- 03-01如何在colab上使用mmdetection训练自己的数据集
- 03-011,514人罹难,泰坦尼克号沉船事故背后的数据统计如何?
- 03-01如何定义一个自带数据区的结构体:三种数据结构体的比较
- 03-01如何在不备份的情况下,将Mac OS Catalina降级回Mojave后还原数据
- 03-0164位Windows系统如何配置32位ODBC数据源
- 03-01外网主机如何将数据包发送到共用一个公网IP的局域网某特定主机上的
- 03-01如何在lmfit最小二乘最小化中包含我的数据错误,以及lmfit中conf_interval2d函数的这个错误是什么?
- 03-01Excel如何统计混合文本中的数据之和
- 03-01SQLServer如何处理数据集的维度变化