0x00 前言
本篇总结一下自己对大数据算法认知的过程。正文包含两部分:自己对算法的认知过程和对大数据算法的理解。
写这篇博客的原因有很多,总的来讲有下面几点:
自己在算法的路上一直懵懵懂懂,现在刚刚有了一点点头绪,赶快做个记录。
梳理清楚自己的思路,后续会有一个算法学习的一到两年的计划,这算是个引子。
谈起算法大家都只会想到经典算法和机器算法,除此之外还有很多有意思的算法,特别是为了解决大数据量问题的算法,这些很容易被忽略掉,但是我认为这才算是大数据算法。
0x01 认知过程
1. 算法没什么用
刚入坑的时候,一直以为大数据工程师就是安装一下 Hadoop,写写 MR 程序,运维一下集群就够了,虽说算法很重要,但是工作中没有什么感觉。
我在很长一段时间也抱着一种算法只是起到在面试中起到区分度作用的知识点而已。(现在想来,其实这个观点也没什么错,大部分的开发工作的确用不到自己写的算法。)
2. 经典算法的魅力
做了一段时间大数据运维后,接到了一个优化调度系统的任务,就和 Gim 老司机在一起设计重构调度系统的方案,在这个过程中复习了很多图论相关的知识点,从此开始对算法产生了极大的兴趣并一发不可收拾,随后重新学习了一遍树相关的内容,自己动手实现了什么2-3树、avl树、红黑树这些数据结构。
其实,感兴趣的一个主要原因就是发现,这些东西基本构建了我们整个的计算机体系。比如文件系统、数据库的索引,学会这些总感觉以后就不会丢饭碗了。
3. 机器学习代表了一切
再接着,机器学