说说spark
spark包括hadoop中的mapreduce,其实都是对数据的建模;
不管底层的资源管理是yarn还是别的,其实spark暴露出来的用户操作界面其实都是一样的,都是一种并行化的处理,只是具体执行的差异
是对数据建模的一种方法,把所有的数据当做了整个程序的一个入口,这是一种数据建模的思维;
整个一个大的数据集合,分布式弹性数据集,这是一套最基本的数据表达的方法;
数据都是按照map的方式来整理的。这个数据的表达的方法
数据从一开始就是按照map的方式来整理的;
从浩如烟海的数据中,找到我们期望要找到的信息,从浩如烟海的数据中找到,所以在这个数据模型中,从一开始就认为数据是key-value的模式?从一开始就认为数据是map-reduce的模式?在spark的用户手册中可以看到,在整个spark系统中的各种方法,包括map等等,包括各种各样的算子,其实都是对某一些数据集合的操作,提供的基本的算
由于spark提供了比原生mapreduce更多的算子,所以能够表达更多的语义信息,所以针对的机器学习的这种非mapreduce这样的计算模型也是能够更加合理地去表达;
可以看下map reduce提供的算子,这些算子的语义都是和处理数据相关的。都是和处理数据相关的。
可以挨个看下这些算子,mapreduce提供的算子太有现了。
发现全部都是对数据集合的操作
那tensorflow这些是和spark平级别的一个概念,还是和在spark之上的一个概念呢
按理说tensorflow也是一种新的计算模型呢。
是因为tensorflow是没有dag调度能力的。
所以spark提供的是什么呢?是要依赖dag调度的,所以tensorflo
是由这些算子,生成了dag图,从而产生了二层调度的逻辑图,所以这个调度图的起点是用了那些算子呀;所以整个问题的起点是用了算子。算子->DAG;使用这些算子的服务;
大数据处理的基本的框架
这是一套大数据处理的操作系统,资源分配系统;
这些虚拟网络系统是一套分布式系统,因为在单机上是需要有服务;
tensorflow可以不使用spark提供的dag调度系统,但是这样的话,tf就需要自己去完成failover这样的逻辑,是没有必要的,如果tf自己去写dag的调度系统的话,那么他是不是还要自己去写操作系统呀,所以tf框架直接去调用dag的框架就好了。
所以对于这些基本的算子,必须是要提供最简单的数据分割的方法出来。