执行原理
RDD和IO都采用装饰者设计模式
IO实现原理
Reader in = new BufferedReader(
new InputStreamReader(
new FileInputStream("path"),
"UTF-8"
)
)
String s = null
while ( (s = in.readLine()) != null ) {
println(i);
}
字节流转换字符流,需要套一个InputStreamReader(不能直接转换,不知道有几个字符组成一个 字节)
加缓冲流BufferedReader为了实现批处理,增加buffer缓冲区,缓冲区数据超过阈值,一次性打印
RDD原理
RDD的数据处理方式类似于IO流,也有装饰者设计模式
RDD的数据只有在调用collect方法时,才会真正执行业务逻辑操作。之前的封装全部都是功能的扩展
RDD是不保存数据的,但是IO可以临时保存一部分数据