sap|我33岁,从国企主管零基础转型大数据开发,年薪涨了20W( 二 )


2. shell , 重要程度??
了解一下基本语法 , 和python了解其中一个就可以了 。 不要花太多时间在上面 , 用2-3天了解一下 , 动手敲敲就行了 。 要求后续能看懂 , 能在原有的基础上改进 。
3. linux , 重要程度??? , 花上2~3天学习一下 。
4. maven , 重要程度?? , 1天 , 重点了解理解一下依赖和项目管理 。
【sap|我33岁,从国企主管零基础转型大数据开发,年薪涨了20W】5. hadoop+zookeeper , 重要程度???? , 这是大数据的基础 , 又分为HDFS、MapReduce、Yarn 。 建议时长1周 。
6. MySQL+JDBC , 重要程度??? , 5天
7. HIVE , 重要程度????? ,7天
MySQL和HIVE两者用法相近 , 但本质不是同一个东西 , 先花5天学完MySQL+jdbc(MySQL增删改查即可) , 然后再学hive(1周左右) 。 HIVE是大数据开发最常用的武器 , 不可以不会 。
哪怕你其它的都不会 , 就会这一个 , 你也能找到工作 。 但是这个不会 , 就会别的 , 首先不太可能 , 其次 , 性价比太低 。 因为MySQL/HIVE , 它的学习成本较低 , 相对简单易学 , 使用范围最广 , 几乎没有之一 。
8. 到这 , 就可以接触离线数仓项目了 , (基于Hive的离线数仓项目) , 重要程度????? 。 如果你和我一样 , 不是应届生 , 那么这是你找工作最重要的砝码 。 大概需要2周 。
9. 辅助组件:flume ,azkaban(离线数仓项目会用) , sqoop(离线数仓项目会用) , 这些一共需要大概5的时间学习下 , 重要程度??
到这 , 就可以找大数据离线这一块的工作了 。
当然你也可以选择再花7~8周时间继续往下学习大数据实时部分 。
10. Kafka , 如果你选择继续往下学 , 重要程度???? , 否则?
11. Scala+Spark或者flink , 选一样 , 或者全部 。 如果你选择继续往下学 , 重要程度???? , 否则?
12. 基于spark的实时数仓项目 , 或者基于flink的实时数仓项目 。 如果你选择继续往下学 , 重要程度????? , 否则? 。
13. 在12的过程中 , 需要学习和使用redis , hbase , clickhouse , 等等一些组件 , 重要程度??? 。
我个人的情况是学到了13 , 但是工作中只用到了8这一步 。 市面上的工作机会 , 70~80%只需要用到8或者9这一步即可 , 也就是说 , 离线数据仓的开发占了大部分 。 每个人可以根据自己的情况做决定 。
14. 附加项 , 算法和数据结构 。
这个在应届生里面比较重要 。 但是如果你是社招 , 不太建议你在入门的时候去啃这一块 。 因为就算是大厂 , 大数据开发岗问这一块的也是少数 。 社招的话 , 还是项目经验更重要 。 这个可以在入门以后 , 作为进阶学习 , 以图后续更好的发展 。
15. 源码同上 。
14、15附加项是需要时间积累的 , 也是能看出功底的 。 要想在开发行业扎根 , 稳定发展 , 这两样属于绝活 。 但是年龄大的话不建议在上车阶段就去搞 , 时间上性价比不高 。
四、面试1.面试问题
我面试过很多的公司 , 当面试面得多了之后 , 你会发现大家问的问题大同小异 。 面经网上有很多 , 常见问题 , 一定要熟练掌握 , 不常见问题 , 一般也不用去准备了 。
对于常见的面试问题 , 我总结了以下几个方面:
Hadoop的组成 , shuffle的过程
Hive的优化
项目的整体流程 , 细节 , 以及优化经验
如何保证数据的准确性
数据倾斜的问题
小文件的问题
数仓分层
拉链表
数据更新方式(全量 , 增量 , 新增及变化)
各种组件挂掉的处理方式
Hbase的rowkey设计
精准一次性(kafka和flink常见)