Hulu大数据架构组负责人董西城:Spark2.0新特性与展望

第二个是Spark structured,每个小时我们要启动一个Spark作业,来处理前一个小时的用户日志或者是用户行为,这个时候这个作业要有一个调度引擎,这时候要加一个调度器来实现这个功能。如果你处理完前一个小时的数据,下一个小时处理的时候,有可能跑来前一个小时的日志,比如说发生的过程中可能有延迟的问题,Spark streaming可以很好的解决这个问题,是结构化的数据,这个批处理程序,你只要给一下这个源就可以,整体的实现体是一模一样的,这样的话实现了批处理流式计算,一个代码既可以跑流式计算,也可以跑批处理。它提供了很多的设置,来对接不同的数据源,比如说对接各种各样的程序引擎。

另外,可以跟一个静态数据做一个连接,另外也可以做交互式查询,通过接口来查询流式计算统计的结果。这是Spark streaming跟其它的流式计算做的对比,在一致性上,在API上,对事物的支持上,对交互式的支持上等等,它自己跟前一带的Spark streaming,跟Hadoop,跟STORM等做了对比。

第三个模块,在2.0里做了大量的优化,一个是ML pipeline,它实现了所有的模型都可以替换,可以持久化到磁盘。基于Dataframe的API,它可以自动做大量的优化,使用传统的传统关系数据库里的一些优化机制,自动的优化。

另外,它有一个非常重要的功能,一个是实现了广义线性模型,第二个是支持python和api第三个是模型持久化能第四个是pipieline定制化。它可以很好的把组建结合在一起,训练做完之后有哪种评估模型对训练的做一个评估,然后做一个打分等等,所有的东西都做成了组建,你可以插拔的方式来做。

前面我把Spark2.0做了介绍。这是今天的所有内容。Spark2.0已经发布,但是远不成熟,因为改进的东西太多太多了,按照传统的经验,至少调到2.1,2.2,2.3才可以。