从这一期开始,将分享一个新的系列——深入讲讲Flink。Flink作为大数据实时计算引擎,受到了越来越多的关注和使用,它的高吞吐、低延迟、以及支持ExactlyOnce语义的优良特性,进一步扩大了自己的粉丝圈。随着社区的发展以及阿里巴巴对Blink(Flink的阿里巴巴版)的开源,Flink SQL的功能也逐步强大,越来越多的开发者已经选择从DataStream API和DataSet API转向了更为简单的SQL API,那么为什么要转向SQL API?主要有这几个原因: 第一就是好懂啊!SQL是一门真正的跨行业语言,而且学习成本较低,这里请允许我隆重介绍一下SQL发明人——埃德加·弗兰克·科德(英文:Edgar Frank "Ted" Codd)(1923年8月23日-2003年4月18日)是一位英国计算机科学家。他为关系型数据库理论做出了奠基性的贡献。他在IBM工作期间,首创了关系模型理论。他一生中为计算机科学做出了很多有价值的贡献,而关系模型,作为一个在数据库管理方面非常具有影响力的基础理论,仍然被认为是他最引人瞩目的成就。1981年,科德因在关系型数据库方面的贡献获得了图灵奖,图灵奖可称得上是计算机领域的诺贝尔奖了,所以把SQL作为Flink的最顶层API非常有利于开发者学习和应用。 第二是屏蔽底层原理!说白了,你只需要告诉引擎你要干啥?你想怎样?具体的实现统统由引擎来帮你搞定,这多爽啊,要知道在大数据领域光调优就能搞死人的。通过select、group by、insert这些指令组合就可以实现业务需求,就可以上手开发实时任务,轻轻松松走上实时开发的“巅峰”。 第三我觉得就是流批一体的大前提。因为从数据场景使用的本质上看,实时和离线是完全不同的。在Flink中,把实时数据源看作是无界数据流,而把离线数据源看作是实时数据源的一种特例,也就是有界数据流。但是呢,毕竟是两种天然不同的数据场景,因此Flink演化出了DataStream API和DataSet API专门for这两种情况,不过还好Flink SQL在API层面上真正统一了实时离线场景,是实现流批一体的关键所在。 ![]() 本系列的分享呢,是结合笔者自己的学习过程和开发过程,用最最通俗易懂的话来聊聊Flink的底层原理,以及怎么用Flink来构建我们自己的实时任务,不管你是数据产品经理,还是在面试的大学生,还是数据研发,都可以一读,系列分享的知识大图如下: ![]() 插一段历史 白起和王翦、廉颇、李牧并称为战国四大猛将。可以看到这四个人都在秦国和赵国,不过也不奇怪,赵国自赵武灵王“胡服骑射”以后,军事实力大大增强;而秦国自商鞅变法,彻底推行军功爵制,军事实力一跃为群雄之首。白起辅佐秦昭王,屡立战功。伊阙之战,大破魏韩24万联军,彻底扫平秦军东进之路。伐楚之战,攻陷楚都郢城。长平之战,重创赵国主力,诱杀赵国四十万降兵,因此白起也被时人称为“人屠”。担任秦军主将30多年,攻城70余座,为秦国统一六国做出了巨大的贡献,受封为武安君。功高震主,得罪应侯范雎,接连贬官,最终被赐死于杜邮。 上一篇:现场丨威拿酒庄品鉴会在古北水镇隆重举行 下一篇:菜鸟指南手册 |