职业入门:大数据学习最佳路线
发布网友
发布时间:2024-10-24 07:17
我来回答
共1个回答
热心网友
时间:2024-11-07 15:59
自我介绍:我曾是车辆工程专业本科与硕士,研究生阶段致力于车辆故障智能诊断研究,涉猎机器学习与深度学习领域,曾发表一篇深度学习网络堆叠降噪自编码网络的高引用论文。毕业后跨行从事数据相关工作,主要技术包括大数据技术(数据采集、处理、存储与可视化)、数据仓库建模、数据架构设计与开发(实时与离线)、数据分析与挖掘技术。业务聚焦游戏与电商行业,目前是BAT大厂的数据研发专家。
学习路线:起初以非专业身份学习,15年购买的第一本书是《Hadoop权威指南》,对Mapreduce与Hdfs略有了解。工作后持续学习,对大数据领域有发言权。Hadoop生态组件已随着时代发展,一些组件不再使用,如Apache项目停止维护的Sqoop。组件的下载、部署与使用文档可在网上查到。Hadoop组件底层多为Java开发,Java掌握程度不必过深,但需了解基本数据结构、算法与设计模式。学习Java SE,掌握容器、集合、多线程知识,Maven使用、Spring Boot开发数据服务与文件系统知识。了解网络通信与关系型数据库性能问题。熟悉Linux命令,如文件操作、进程查找与端口查找。推荐《Java编程的逻辑》,适合非计算机专业的学习者反复阅读。网络视频课程,如慕课网,选择有价值的课程进行学习。
Hadoop:在掌握基础后,深入学习大数据概念(Kappa架构与Lamda架构)、Hadoop基础及应用,了解Hdfs原理、Mapreduce代码模型与Yarn。推荐《Hadoop大数据技术开发实战》,适合入门学习,内容包含组件介绍、集群搭建、功能模块与代码示例,且内容及时更新。
Flume:数据采集是大数据一大挑战,通过部署agent与配置文件,使用Flume采集数据。学习资料参考官网。
Hbase:作为Bigtable论文实现的分布式列式数据存储组件,学习内容广泛且深入。推荐《Hbase原理与实践》,内容包括设计、集群搭建、主要功能与示例,是较为全面的学习资料。
Hive与Spark:Hive是数据仓库领域的先驱,Spark因其速度优势而迅速崛起,成为离线计算的底层引擎。Hive学习主要涉及HQL、建表、视图、分析函数等概念。Spark则包含官网学习与系统学习,重点关注数据建模(Kimbo维度建模)、Mapjoin原理、谓词下推、数据倾斜解决方案等。
Kafka:用于实时计算的数据发送系统,通过《ApacheKafka实战》系统学习。Zookeeper作为分布式协调系统,了解其在Hbase、Canal与微服务中的应用,无需深入学习,通过博客了解即可。
Flink:实时大数据计算框架,学习资料推荐官网与实际开发经验。实时计算概念包括状态计算、时间概念、窗口计算、checkpoint与watermark。高阶异常事件检测内容较少涉及。
OLAP组件:Kylin、Presto与Clickhouse等用于预计算、联邦查询与大宽表查询。了解其功能与应用,注意资源消耗与业务限制。
数据湖:将所有业务数据存储在一起,满足多样化的业务查询需求。数据湖可能面临数据管理与应用推广的挑战。
流批一体:目标是实现流与批计算的一致性,确保数据源头一致。Flink SQL的成熟度影响流批一体的发展。
总结:以上是理解的大数据组件学习路径,按优先级自上而下学习,贯穿整个大数据职业生涯。此外,数据治理方向如数据一致性、血缘与资源治理等是工作后的可能方向。推荐关注DataFunTalk、Java与大数据架构、浪尖聊大数据等公众号,学习美团技术、阿里技术等平台的实践内容。技术学习需耐心,持续进步。