前言
大家好,我是 梦想家 Alex 。我们都知道 github 对于程序员们而言,就是一个巨大的“聚宝盆”,上面不仅有很多优质的开源项目,还有很多热爱开源分享的开发者。但如何从浩如烟海的宝藏中,筛选出适合自己的优质项目呢?本期内容,我就为大家推荐几个我认为还不错的大数据学习必备的 牛 X 项目,希望大家看完有所收获。
BigData-Notes
首推 heibaiying 的 BigData-Notes,该项目目前已经有高达 10.2K 的star,正如该仓库的介绍上简短几个字:大数据入门指南。这个项目也是我认为目前最适合初学者学习和参考的项目。
为什么说这个项目适合大数据初学者呢,可以通过观察项目的介绍文档,该项目包含了大数据学习必须要掌握的几种组件,包括 Hadoop,Hive,Spark,Flink,Kafka,Zookeeper,Flume,Sqoop,Azkaban,以及 Scala 函数式编程语言的教程,可谓是非常的系统全面
我们再借助谷歌插件 Octotree 观察项目的结构,可以看到该项目主要分为 code,notes,pictures,resources 四个目录
其中 code 目录主要用来存放各个组件使用相关的代码,正如统计的结果一样,这个项目中 Java 代码占了 94.8%,Scala 占了 5.2%,所以对于喜欢用 Java 编写代码的小伙伴们来说,这是一个不容错过的宝藏学习机会。
notes 部分主要存放相关组件的介绍和使用文档,其中 installation 子目录主要存放了相关组件编译,以及在Linux环境下各个组件的安装,单机/集群环境搭建的教程,我看过了内容,介绍的非常清晰详细。
另外两个目录 pictures 和 resources 就不做过多介绍了,一个是存放相关的图片教程,另一个是存放编写的代码中所需要用到的文本文件。
点评:
这个项目所介绍内容之详细,为我之佩服,不仅有文档,还有代码,图片,资源文件 … 这可能也是能斩获上万 star 的一个重要原因。大家如果能好好利用,一定能起到是事半功倍的效果。
项目链接:
God-Of-BigData
这个项目同样给力,是由 BAT 高级大数据架构师 王知无 创建的,该项目目前也已经斩获高达 5.2k star,是为数不多,集基础学习和进阶实战 于一体的优质项目。
该项目按照大数据不同阶段的学习,所列举不同的文章干货
大数据开发基础篇
大数据框架学习篇
大数据开发实战进阶篇
大数据开发面试篇
从不同的分类足以见 王老师 的用心。同时,王知无前辈也是 51CTO 上的认证讲师,来看看官方的介绍 。
相信很多同学在学习大数据的过程中,不清楚 Java 需要学习哪些内容,掌握到什么程度,这个时候完全可以借鉴王老师的这个仓库内容。
同时,学习这个仓库的内容,可以学习到作者作为架构师本身对于 JVM,分布式理论和基础,大数据框架基石之网路通信Netty,以及各个框架的源码学习,可谓“真.宝藏仓库”
除了基础的理论学习以外,还有大量实战性的内容可以借鉴参考
以及大量的面试题,还有自己从零到大数据专家一路走来的心路历程,学习路径指南,和自己对于技术学习的一些深入思考,相信大家拜读过后一定能收获满满,
点评:
这个仓库的内容非常硬核,明显更偏向于“拔高”。具备了大数据初级水平的开发同学,可以通过这个仓库让自己在认知和思考深度上有明显的提高。好好利用,尽早拉开与其他人的差距,早日升职加薪。
项目链接:
awesome-bigdata
这个项目比较特殊,是一个国外开发者开源的项目,英文翻译过来的意思是“很棒的大数据”,实际上呢~他列举的是很多很棒的大数据框架、资源和其他很棒的精选列表。灵感来自 awesome-php、awesome-python、awesome-ruby、hadoopecosystemtable和big-data。目前也已经斩获 10.2K 的 star,非常强势。
为了方便阅读,我将其全部翻译成中文进行展示。
我们跳转到 分布式编程,可以看到很多我们熟悉的技术,例如 Flink,Spark,Pig,MapReduce 等等 …
亦或者“分布式文件系统”,我们所熟知的 HDFS,Kudu,GFS …
点击对应的链接,可以跳转到对应的官方介绍页,方便我们减少搜索成本,快速了解不同领域大数据常用的技术组件,为我们之后做技术调研省了很多的时间。
点评:
这个仓库看似很简单,除了一堆官网的链接和其他的介绍之外毫无亮点,但正是由于作者辛苦整理,将所有大数据领域不同模块所使用的到的一些技术,例如分布式文件系统,键值数据模型,时间序列数据库等等…统统整理了出来,方便大家阅读目录就能快速对这些技术有个印象,方便后续所需来进一步了解起到了很关键的作用。
项目链接:
TheKingOfBigData
最后让我厚颜无耻的夹带一下“私货”。这是我在今年年初的时候,创建的一个仓库,目前也已经有了快 200 的star 。从资历和star的数量显然不能跟前面几个大佬相比,但却是我第一次花费了大量精力,将一个项目像孩子一样进行“培养”。
为了设计一个好看的图标,还花了不少的精力。设置不同媒体平台的徽标设计,还参考了像 JavaGuide 这样的头部项目,也算是在亲力亲为的这个过程中,学到了不少东西。
正如介绍所言,希望成为大数据学习路上不能错过的宝藏项目!里面有我写公众号以来,按照组件进行的分类的原创 / 非原创文章。大的分类上除了基本的技术方向外,还包含很多有趣的方向,例如企业级真实应用,超强总结,程序人生,甚至还开设了 有趣有料 方向,让你在学习技术的同时,还能够感受到学习带来的乐趣 。
可以放点内容给大家show一下
另外,我还开设了“福利”专栏,将自己学习过程中收集到的学习干货毫无保留地分享给大家,方便大家获取。
点评:
毕竟是自己的项目,就不做过多点评,希望它能成为你学习路上不容错过的项目
项目链接:
Flink-learning
显而易见,这个是专注与 flink 学习的开源项目,其中的内容包含Flink 入门、概念、原理、实战、性能调优、源码解析等等,目前已经斩获了 10.5k 的 star,非常强势。
其维护的开发人员也是非常用心负责,一路跟随 flink 的版本,不停的在维护更新 。
同时,主要维护者 zisheng 还将 flink 的研究做到了极致,不仅有
flink 成体系的博客链接,还有对应的源码系列。
还自己创建了专栏《从1到100深入学习Flink》,并将大家学习过程中有疑惑的地方解决过程统一记录下来,方便有需要的同学查看。虽然是付费的星球专项,但我觉得是真的值!感兴趣的话大家可以自行去了解。
点评:
专注于Flink 入门、概念、原理、实战、性能调优、源码解析…的一个项目,质量超级高,是 flink 爱好者不容错过的一个开源项目!
项目链接:
小结
因为篇幅有限,本期内容先为大家介绍这5个开源项目。如果大家还有其他值得推荐的项目,可以踊跃在评论区留言,说不定下一次就有你推荐的项目上墙 ~
对了,大家可以通过文中给出的项目链接直达,为这几个项目献上 star,同时也希望本篇文章能多多点赞转发,一是作者更新原创不易,二是用心的项目值得被更多人看见,感谢大家 ~