这几个大数据GitHub项目,太强了吧

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这几个大数据GitHub项目,太强了吧相关的知识,希望对你有一定的参考价值。

参考技术A

大家好,我是 梦想家 Alex 。我们都知道 github 对于程序员们而言,就是一个巨大的“聚宝盆”,上面不仅有很多优质的开源项目,还有很多热爱开源分享的开发者。但如何从浩如烟海的宝藏中,筛选出适合自己的优质项目呢?本期内容,我就为大家推荐几个我认为还不错的大数据学习必备的 牛 X 项目,希望大家看完有所收获。

首推 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 就不做过多介绍了,一个是存放相关的图片教程,另一个是存放编写的代码中所需要用到的文本文件。

这个项目同样给力,是由 BAT 高级大数据架构师 王知无 创建的,该项目目前也已经斩获高达 5.2k star,是为数不多, 集基础学习和进阶实战 于一体的优质项目。

该项目按照大数据不同阶段的学习,所列举不同的文章干货

大数据开发基础篇

大数据框架学习篇

大数据开发实战进阶篇

大数据开发面试篇

从不同的分类足以见 王老师 的用心。同时,王知无前辈也是 51CTO 上的认证讲师,来看看官方的介绍 。

相信很多同学在学习大数据的过程中,不清楚 Java 需要学习哪些内容,掌握到什么程度,这个时候完全可以借鉴王老师的这个仓库内容。

同时,学习这个仓库的内容,可以学习到作者作为架构师本身对于 JVM,分布式理论和基础,大数据框架基石之网路通信Netty,以及各个框架的源码学习,可谓“ 真.宝藏仓库

除了基础的理论学习以外,还有大量实战性的内容可以借鉴参考

以及大量的面试题,还有自己从零到大数据专家一路走来的心路历程,学习路径指南,和自己对于技术学习的一些深入思考,相信大家拜读过后一定能收获满满,

这个项目比较特殊,是一个国外开发者开源的项目,英文翻译过来的意思是“很棒的大数据”,实际上呢~他列举的是很多很棒的大数据框架、资源和其他很棒的精选列表。灵感来自 awesome-php awesome-python awesome-ruby hadoopecosystemtable big-data 。目前也已经斩获 10.2K 的 star,非常强势。

为了方便阅读,我将其全部翻译成中文进行展示。

我们跳转到 分布式编程,可以看到很多我们熟悉的技术,例如 Flink,Spark,Pig,MapReduce 等等 ....

亦或者“分布式文件系统”,我们所熟知的 HDFS,Kudu,GFS ...

点击对应的链接,可以跳转到对应的官方介绍页,方便我们减少搜索成本,快速了解不同领域大数据常用的技术组件,为我们之后做技术调研省了很多的时间。

让我厚颜无耻的夹带一下“私货”。这是我在今年年初的时候,创建的一个仓库,目前也已经有了快 200 的star 。从资历和star的数量显然不能跟前面几个大佬相比,但却是我第一次花费了大量精力,将一个项目像孩子一样进行“培养”。

为了设计一个好看的图标,还花了不少的精力。设置不同媒体平台的徽标设计,还参考了像 JavaGuide 这样的头部项目,也算是在亲力亲为的这个过程中,学到了不少东西。


可以放点内容给大家show一下

另外,我还开设了“福利”专栏,将自己学习过程中收集到的学习干货毫无保留地分享给大家,方便大家获取。


显而易见,这个是专注于 flink 学习的开源项目,其中的内容包含Flink 入门、概念、原理、实战、性能调优、源码解析等等,目前已经斩获了 10.5k 的 star,非常强势。

其维护的开发人员也是非常用心负责,一路跟随 flink 的版本,不停的在维护更新 。

同时,主要维护者 zisheng 还将 flink 的研究做到了极致,不仅有 flink 成体系的博客链接,还有对应的源码系列。

还自己创建了专栏《从1到100深入学习Flink》,并将大家学习过程中有疑惑的地方解决过程统一记录下来,方便有需要的同学查看。虽然是付费的星球专享,但我觉得是真的值!感兴趣的话大家可以自行去了解。

哇塞!GitHub 上这些 Java repo 太强了吧,看完哪个都变大佬!

大家好,我是正在装逼学习的二哥。

今天给大家分享一些让人直呼“哇塞”的 Java 知识总结项目,二哥敢说,只要看完其中任何一个,都能变大佬!

分享之前,随便唠点心里面的一些感受。之前的那篇奉劝那些想把编程学好的学弟学妹们!竟然是最近俩月阅读最好的一篇文章了。

有读者留言说很感谢我之前的解惑,帮他走出了迷茫,迎来了生机;

还有读者留言说虽然春招受到了歧视,很低落,但看到我这样“优秀”的榜样在前面激励着,又充满了信心;

还有读者留言说我不同于其他名校学历的大佬,文章读起来更合胃口,也更加的喜爱;

还有大学同学留言说我是我们专科人学习的榜样;

还有读者留言说找到了工作,与我潜移默化的影响分不开;

还有很多读者留言说我是他们的榜样,要向我看齐!

。。。。。。

总之是感到非常的温暖,晚上睡觉的时候嘴角都是向上扬着的。

昨天我妹特意从学校来家里玩了会,还问我打不打王者,我说我没时间打,她说可好玩了,于是她就在我旁边打游戏,我在一边写文章,耳朵里不停地传来游戏里面的声音:“我想静~静~~”(意味着鲁班挂了)

嘿嘿,大家懂我的意思吧?

换成是以前,我肯定会批评她,怎么不好好学习,别想着天天打游戏;现在我不会了,因为我也想打,只是没时间,哭了哭了~~~

好了好了,正式开始今天的分享。

下面这些 Java 知识总结项目我已经 star 了,空了的时候我都会去查漏补缺下,虽然已经学 Java 十多年了,但还是感觉能收获到不少新知识。

1)JavaGuide

我记得前段时间看,还是 98k star 呢,今天截图的时候发现已经 100k star 了!真的牛逼了,毕竟金三银四,需要 Java 面经的小伙伴还是多。

和项目的维护者 Guide 哥平常也有不少交流,所以我在其他的很多地方都做了推荐,比如说 CSDN 和知乎。这个项目涵盖的内容真的非常全面,有 Java 基础、容器、并发、JVM,还有网络、操作系统、数据结构与算法、数据库,以及各种常用的框架,比如说 Spring、MyBatis、Netty、Zookeeper、Spring Boot 等等。

我把这个 repo 里面的精华已经整理成离线版的 PDF 了:V4.0 《JavaGuide 面试突击版》来啦!

2)toBeTopJavaer

对,H 神的 Java 成神之路,名字一听上去就感觉很霸气。

他的几幅思维导图对我帮助特别大,让我对 Java 的整个知识体系有了一个系统化的概念。强烈推荐大家看一下里面关于 Java 并发编程方面的知识点,讲得特别详细。

  • 什么是并发?
  • 线程与进程之间的区别?
  • 创建线程的多种方式
  • 如何自己设计一个线程池?
  • 什么是线程安全?
  • CPU 时间片和原子性的问题
  • 乐观锁与悲观锁
  • CAS
  • 死锁的原因
  • 如何优化锁?
  • synchronized 是如何实现的?
  • volatile 的实现原理?
  • 如何解决生产者消费者问题?
  • 深入理解 Java 的并发包

3)advanced-java

这个项目的介绍非常给力——互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识。完蛋,看完后感觉确实扫盲了。

高并发架构里面讲到了消息队列,比如说 Kafka、ActiveMQ、RabbitMQ、RocketMQ;讲到了搜索引擎,比如说 ElasticSearch;讲到了缓存,比如说 Redis;讲到了分库分表、读写分离等等。

分布式系统里面讲到了系统拆分、分布式服务框架 Dubbo、分布式锁 Zookeeper、分布式事务、分布式会话等等。

高可用架构里面讲到了高可用性保障框架 Hystrix、限流、熔断、降级等等。

微服务架构里面讲到了 Spring Boot 和 Spring Cloud;海量数据处理里面讲到了如何从大量数据中找出高频词、如何从 5 亿个数中找出中位数等等知识点。

4)JCSprout

作者是我的一位朋友,crossoverJie,篮球打得特别棒,人也特别 nice。记得我最开始写公众号的时候,我大哥纯洁的微笑还在同一篇文章下推荐过我俩,当时就加了微信,Jie 算是一个技术极客吧,我特别欣赏他对技术的态度!

不仅有集合、多线程、JVM,还有分布式、框架、架构设计、数据库、算法,可以说一个优秀的 Java 后端工程师应该掌握的核心知识点,这里都有啊!强烈推荐大家去看一下秒杀系统设计的部分,如果想做练手项目的话,这部分是个不错的参考。

5)Java 面试导读宝典

牛客网官方出品的,专门针对 Java 程序员推出的面试导读宝典,题库均来自海量真实校招面试题目大数据进行的整理。

虽然我觉得里面的部分内容有些过时了,比如说 XML 编程、JDBC 编程,但整体上来说,还是能够给 Java 面试者很大帮助的。我的建议时,可以找小伙伴来模拟面试,通过网面或者面对面都行,看看自己在回答这些真实题目的时候,能拿出多少分的表现。

6)CS-Notes

里面的知识很全,不仅有 Java,还有 LeetCode、计算机操作系统、计算机网络、系统设计、Python、C++。

推荐大家去刷一刷《剑指 Offer 题解》、《LeetCode 题解》,代码是 Java 版的,有时间我打算自己整理一份离线版的给大家。

我把里面对应的 Java 内容整理成了一份 PDF,里面涵盖了 Java 所有的知识点,包括 Java 语法、Java 集合框架、Java IO、Java 并发编程和 Java 虚拟机,内容不多,只讲重点

GitHub 星标 124k+的 Java 教程,超级硬核!

7)architect-awesome

后端架构师技术图谱,这名字听上去就觉得高大上,牛逼得不顶。

项目涉及的内容有:

  • 数据结构,包括队列、链表、数组、栈、树等等
  • 常用算法,包括选择排序、冒泡排序、快速排序、插入排序等常见的排序算法,还有贪心算法、回溯算法、动态规划等等
  • 设计模式
  • 运维,包括持续集成(CI/CD)、测试、虚拟化、容器技术
  • 中间件,包括 Web 服务器 Nginx、Tomcat、Apache、Jetty,还有定时调度、RPC、数据库中间件 Sharding 等等
  • 网络,包括 HTTP、HTTPS 等等
  • 数据库,包括 MySQL、NoSQL 等等
  • 搜索引擎,包括 Solr、Elasticsearch 等等
  • 性能,包括 CDN 网络、性能调优等等
  • 大数据,包括流式计算、Hadoop、Spark 等等
  • 安全,包括 XSS、CSRF、SQL 注入、DDoS 防范、加密解密、认证授权 等等
  • 常用框架,包括日志框架、网络框架等等
  • 分布式设计,包括扩展性设计、稳定性&高可用、数据库扩展、服务治理、分布式一致等等

这些项目当中包含的内容非常多,非常庞大,要想全部都吃透,显然不太现实,但作为一份手头上技能导航图,就再适合不过了,如果大家觉得目前不知道学什么,或者一下子失去了目标,就按照我给大家挑的重点去深入地了解一下。

尤其是准备面试的时候,高强度地刷那么一段时间,到时候应该就可以和面试官硬刚了吧!

在我看来,资源分两种,一种是大而全的,一种是小而精的。一开始,在我们没有目标和方向的时候就看这种大而全的,就像是一副地图一样拿在身边,不迷路;有了目标和方向后,就需要花时间去深入,去纵深,去了解技术的底层和内幕,把自己打造成技术专家。

多给自己一点时间,多给自己一点耐心,成长的路上,我们一路相伴,不再寂寞孤单~

我是沉默王二,希望这期的分享能帮助到大家,记得给我点赞啦~

以上是关于这几个大数据GitHub项目,太强了吧的主要内容,如果未能解决你的问题,请参考以下文章

转太强了!Github上竟然有这么多改改就能赚钱的项目。。。

这几个神器,能大幅提升你的 Git/GitHub 操作效率!

GitHub项目简介

Git很麻烦?只要掌握这几个命令,轻松将代码提交远程仓库

.NET6又出新版本,新增这几个大杀器!

推荐几个GitHub Star过万的公众号