为什么要学习大数据相关的技术?
随着工作年限的增加,JAVA已经陪伴我五年有余了,这些年的工作中我能够明显感觉到一些web开发领域的变化。刚开始工作时公司做的项目大多是一些功能单一、用户量极少的web应用,这种项目对技术和性能的要求不大,基本上功能写出来项目就能满足需求的运行;再往后看公司的项目开始渐渐的复杂起来,最开始的简单增删改查已经不好满足需求了,用户需求侧也开始慢慢对性能有了要求,但这个时候大部分项目在架构设计上通过索引缓存优化、页面静态化等这些技术也能够实现功能完成需求。
思考未来的web应用发展,随着互联网技术的发展很多现有的web应用随着使用时间的增加,数据量也慢慢积攒了起来,数据量大了以后想要分析某些数据,如果继续使用原来的方式就会变得很慢,分析数据时间长了以后一些实时的操作就无法继续支撑;如今平台应用慢慢多了起来,后续在ai相关的领域下大概率会出现很多数据分析处理岗位的空缺,技多不压身,所以打算趁空闲时间学习一下大数据相关的技术。
入门大数据相关技术需要具备哪些基础?
浏览了一些博客和一些技术的官方文档,了解到入门的话大致需要三个模块的基础,JAVA、SQL和LINUX,好在工作了几年,这三方面基础的话还是比较扎实的。
学习计划
浏览了一些文档和博客,目前理解大数据工作流程大致分为四个模块:
- 数据的采集与存储
- 数据的管理与查询
- 数据计算
- 数据的可视化展示与分析
不同的模块需要学习一些不同的技术和处理方式,1.数据的采集与存储 需要学习Hadoop基础,了解大数据基础组件HDFS、MR、Yarn原理,学习Hive大数据存储和分析重点技术组件,学习HbaseNosql列式存储数据库,学习ETL数据同步和集成,这一部分是大数据的核心基础功能,后续的计算和展示都要在此基础上进行。2.数据的管理与查询 数据采集后需要进行管理和查询操作,要了解数据仓库体系、数据治理体系、OLAP查询三部分内容。3.数据计算 需要学习Spark和Flink,学习Spark的批处理及近实时分析,学习Flink的流处理实时分析。4.数据的可视化展示与分析 需要学习一些常见的报表工具和Python的Pandas/Numpy/Matplot数据分析工具。
仅做为个人笔记