RDD的操作是以Partition为单位,输入的是Partition,输出的是itertor

它的计算是不透明,它是什么类型,从用户应用程序的角度来讲,类型是不透明的

由此我们无法做更多的细致优化,如果我们能清楚地知道类型,就能做更多的限制,也就有了更多优化的空间

 

以下是一些图的对比:

Spark机器学习第5课:深入理解RDD、DataFrame、DataSet、StructuredSpark机器学习第5课:深入理解RDD、DataFrame、DataSet、Structured

 

从结构化的角度来看,SQL只能在runtime才能发现语法错误和类型错误,

DataFrane能在编译时发现语法错误,但是只能在运行时发现类型错误

而DataSet能在编译时就发现语法错误和类型错误,DataSet提供了最大的限制,也提供了最大的优化Spark机器学习第5课:深入理解RDD、DataFrame、DataSet、Structured

 

无论怎么翻译,最后都是翻译成RDD

在2.0,Spark Streaming,Spark SQL,机器学习等等都是共用一套引擎,这是非常强大的

Spark机器学习第5课:深入理解RDD、DataFrame、DataSet、Structured

 

这里的scan new files其实指的是unbounded Table,

渐渐统一了批处理,流处理,机器学习等等

 

不过官方说了,Spark 2.0不适合在生产环境下运用

 

归纳总结:1.RDD的弱点

2.优化后的对比

3.SQL DataFrame DataSet 之间的错误检查的对比

4.理解引擎图

5.Structed Streaming的再次理解

6.Spark 2.0 适用于生产环境吗

 

Spark机器学习第5课:深入理解RDD、DataFrame、DataSet、Structured

转载于:https://my.oschina.net/u/1449867/blog/724431

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-03-31
  • 2021-06-09
  • 2021-04-05
  • 2021-12-15
  • 2021-09-24
猜你喜欢
  • 2022-01-03
  • 2021-10-30
  • 2022-12-23
  • 2021-09-07
  • 2021-11-14
  • 2021-10-11
  • 2021-07-17
相关资源
相似解决方案