中云网消息 8月29日-30日,以“数据重构未来”为主题的D-Future七牛数据时代峰会在上海举行。七牛携百名创业明星,技术大咖汇聚国际时尚中心,共话数据发展,探讨行业未来!
七牛技术总监陈超带来以“开源大数据生态概览”为主题的演讲,以下是演讲实录:
陈超:我们开始下午的技术演讲,我是负责大数据这一块的负责人我叫陈超,可能大家对我社区的ID比较熟悉,我们这次是数据为峰,引领技术先锋。我的名字是大数据生态的概览,由于时间的原因,我会在我觉得比较重要的地方,会多讲一些,可能大家不是那么关注的地方我可能会跳过,但是我希望能把需要讲的都给大家介绍一下。
在大数据这一块,我们最主要的基础就是我们分布式文件系统,我们的HDFS大家都已经熟悉了,下面Tachyon,它也是一个文件系统,只不过它是基于内存的一个文件,它由出品,引用了以后,可以把数据全部存在里面,直接从内存出去,让你的效率成倍提高,有些人想说,内存丢失了怎么办,事实上面,现在业内几乎所有基于内存的文件系统,几乎都有。在我们Tachyon可以放入数据,是到你用的时候才有。
在分布式计算这一块,我们最早接受的批量计算,大家用的最多是MapReduce,效率比较低。我在2003年的时候在国内推广Spark2004年慢慢大规模采用,Spark基于内存的基本框架,但是大家现在对Spark有一个误解,完全基于内存,事实上不是,它做了很多改变。另外它还做了一些额外的优化,来保证我们更好的数据稳定性。第三个Flink,现场有多少人知道这个框架,它跟Spark的定位是比较像的,它们都希望走的是炉子,跟Spark有兴趣的朋友,我们可以会下单独讨论。
接下来,我相信大家对第四个,Impala更熟悉一些,但是它有去编译,做了一些代码生成提高效率。事实上面,在Facebook也做了一个类似的,它对知识是非常好的。另外方面,还支持查一些,你可以认为它是一个插电的设施,你有什么都可以查,只要有数据,原始数据确实在某个地方,也可以查。这一块,我相信这边也有不少人在用,首先它使用非常方便速度也比较快,另一方面,更关键的一点,它已经从不同的框架里面来学习很多的优点,吸收进来,所以说大家这边如果有人学习的话,或者想用的话,我建议你们可以从Spark SQL入手,以后大家不会获得原始行业进行一个计算,而是说,我们对它进行一个控制,明显我能做更多的优化。Drill这块我就不展开讲。
流式计算,这一块大家非常熟悉,我想提醒一下,你用个的延时在几秒左右,很多人拿这个说事,数据出来再到我们Spark Streaming已经有不少飲飭了,所以在处理上面,给你带来并不是特别大的事。当然如果延时真的非常重要,我必须要考量,那你可以用。还有一个好处就是说,它可以用你的批量计算和时时计算,做批量的时候,你使用,你用换成其他代码都是这样的都不用动,所以说也非常方便。只不过它是一个完全基于设置的方向,它的思路是我的就是为它设计的,但是,它认为,批量计算只是时时计算的特例,这是一个思路。
其实雅虎出的比较早,代码更新也非常慢,对它表现尊敬,出来也比较早,它主要是针对于,既然已经成为事实上的标准,那用的人,在国内并不是特别多,如果你们有兴趣并且说你们也是的话,我建议你们可以去看一下。
数据收集这块,是这样子,Flume用得比较多。第二个Flunetd做了很多类似于统一的数据平台,消息平台,它可以支持不同的一些插电化的接口,但是这块,前两年还可以,这两天,至少在国内交流起来并没有特别多。Sqoop是一个很尴尬的处境,它的愿景很美好,类似观点,但事实上面,大多数的公司,自己更喜欢从去重写这样一套的框架。Scribe不多讲,你也可以跟Sqoop比较。有一个事我不知道有没有公布,用语言,重新写了一套,性能提升了很多,有一天有一篇文章介绍,如果你们用了这套框架,可以查一下文章。Camus一个用法是,用到我们这上面去是非常方便的。
我说了Kafka是一个概念,概念也非常简单,中间是数据,多数据可以让数据进行处理,概念比较简单。在介绍的时候,也介绍了,本身是一个优秀的框架,但它可以支持概念,我这边不多介绍,有兴趣可以看一下。最下面NSQ是一个比较酷的,以前讲的时候,看不到,这种玩意。现在混的比较多了,总要去看看这个,但是如果对这个比较感兴趣的话,可以去看看,如果NSQ比较好玩的话,可以联系我。我们这边有很多空间有NSQ.
我们在两年前的标准,就是Mahout,我不知道有没有人民关注我的微信账号,去年4月份,我也写了,Mahout已经停止接受任何新的算法,投到上去。我现在主要用的是,里面的算法也比较丰富,并且我们有新的,是一个非常酷的东西。大大简化你从数据进来,到我们整个流程结束。毕竟它也结合了一些理念在里面。PredictionIO是基于我们的服务器。最后一个scikit learn朋友们非常了解,scikit learn本身用的也非常清楚。
图处理,我先重点讲一下第一个和最后一个,我认为到现在为止有三个产品非常重要,或者其他一些挖掘,事实上有三个可以看得了,整个网络非常复杂,节点非常多,我要找任意两个节点的最短路径,第三个我认为也是目前用得最多的。大家想一下,你们这边咱们会场里面有这么多人,如果说微博我关注了你,我到你那边指向了,你你关注了我可以指向我,想想看如果我们这些互相关注的人里面,是不是三角形越多,我们社区就越紧密,三角形越少我们社区就越松散。我关注你你关注我,还是一样的。像我刚刚讲的三个场景,都需要一个领导力,所以我认为一个优秀的框架不需要让大家,我认为应该帮你搞定。
最后一个你可以把边、点存在那里,非常简单。如果说你有图需求,可以看一下。MongoDB我不讲了。Redis也不讲了,微博非常好用。对比一下我相信这里面肯定有这个的支持者,所以我前端时间参加回答问题的时候,也是冒着很大的风险,万一得罪了也不好。所以说看自己的品位,是一个P2P的构造。你们不要去过于执着两者的区别上面,他们的数据都是基于。你可以认为最后是一个,其实是一样的,没有大家想的差别那么大。
NewSQL不知道这里面有多少人了解曾经开源过,被某一个公司收购了,直接就再也看不到了。公司大多数人都在用它的手机、苹果。所以说现在注意力就转移了,它不让我玩,我不能就坐以待毙我得找一个新的替代品。所以在国内我更喜欢小强DB,打不死的DB.现在还有一个比较酷的产品叫做HyperDex,大家了解也非常少,也可以去看一下。
搜索这块,是这样,Lucene这不需要讲,这本身没有什么对错。ElasticSearch现在生态圈,支持会更多一些。到搜索、到展示都是一体化的。所以说你让我个人建议,我会建议用ElasticSearch.
OLAP,大家没有看到,支持超高围度。它才开展两、三个月,还是有些问题,用的过程中,还自己去避免。Zeppelin,在业内上面写一段,下面把结果呈现出来,包括图表。
数据可视化,这些就看前端你们更喜欢哪个。
容器在大数据领域也避不开这个话题,现在在做Spark,我指的是容器,在座大多数朋友也需要去关注一下容器市场。它可能会对我们架构方式个思维方式有一定的改变。
调度不多讲,Mesos、YARN、Sparrow,不展开,你们对调度参考一下Sparrow.
幕后英雄,ZooKeeper,第一想法上这个,没什么好讲的。Praquet存得更少拿得更快。
Lambda架构就是这样,把它们两个数据结合起来去访问。
这个是我整个PPT最重要的一页,其他不多讲了,谢谢各位!