今天把大数据的作业写完。
- 基础层 (实验1-2): 环境与存储 技能获取: 熟练使用 Linux Shell 和 Hadoop HDFS Shell 进行系统与分布式文件管理。 核心认知: 理解分布式文件系统(HDFS)的核心思想——数据分块、多副本存储,并掌握其基础API操作。这是所有大数据计算的基石。
- 存储层 (实验3-4): 多样化数据库 HBase: 掌握了 NoSQL列式数据库 的核心理念(面向列、稀疏、多版本)。学会了通过Shell和Java API进行表管理、数据CRUD和扫描操作。理解了其与HDFS的紧密集成(HBase数据最终存于HDFS)。 数据库比较: 通过对比MySQL(关系型)、HBase(列式)、Redis(键值/内存) 和 MongoDB(文档),深刻理解了 CAP理论 在实际系统中的应用,以及根据场景(事务、缓存、灵活模式、海量存储)选择合适数据库的能力。
- 计算层 (实验5, 7): 批处理与内存计算 MapReduce (实验5): 掌握了经典的批处理编程范式。通过“合并去重”、“排序”、“关系挖掘”三个案例,深入理解了
Map和Reduce两个阶段如何分工协作,处理大规模数据集。这是理解分布式计算思想的敲门砖。 Spark (实验7): 体验了基于内存的迭代计算和DAG执行引擎带来的性能飞跃。学会了使用RDD的转换/行动操作(如distinct,groupByKey,mapValues)更优雅、高效地解决“数据去重”、“求平均值”等问题。理解了Spark相对于MapReduce在开发效率和运行速度上的优势。 - 分析层 (实验6): 数据仓库与SQL-on-Hadoop Hive: 掌握了如何将结构化数据映射到HDFS上,并使用熟悉的 HiveQL 进行数据分析。理解了内部表/外部表、分区表 的概念与用途。学会了通过Hive将复杂的MapReduce程序(如实验5的关联查询)转化为简洁的SQL语句,极大提升了数据查询和统计分析的效率。
二、 关键技能提升
- 环境搭建与故障排查能力: 在Linux上成功部署Hadoop、HBase、Hive、Spark等复杂集群组件,并解决其中遇到的各类环境、配置、依赖问题,这是大数据工程师的必备生存技能。
- 多模式编程能力: 从Shell命令到 Java API 编程,再到 SQL 和 Scala/Java API,你实践了与大数据系统交互的多种方式,能够根据任务需求选择最高效的工具。
- 从问题到分布式解决方案的思维转换: 这是最重要的收获。你不再只考虑单机程序的逻辑,而是学会了如何将一个大任务(如排序、关联)分解成多个可以并行执行的子任务(Map),再合并结果(Reduce),并思考数据如何分布、移动。