欢迎光临
我们一直在努力

大数据技术课程总复习知识点

一、考试题型说明(来自图片2顶部)

  • 选择题:15道,2分/道,共30分

  • 理论题:4道,8分/道,共32分

  • 程序题:3道,8分/道,共24分

  • 综合体:1道,14分(分3小题:6分,4分,4分)


📚 二、Hadoop 基础与理论知识点(来自图片2)

1. Hadoop 集群

  • 负责资源的管理和调度组件。

2. HDFS 操作

  • 使用 hadoop fs 命令查看文件(查看文件名称、文件的大小等)。

3. Hive 中数据的存储格式

  • 了解每一种存储格式的适合存储什么样的类型的数据。

4. Linux 中权限的设置

  • 如:使用命令给目录或文件赋予可读可写的权限。

5. SSH 生成免密登录使用的密钥

6. MapReduce 过程中,map阶段、reducer阶段,采用技术 shuffle 的作用是什么

7. HDFS 包括 Namenode、Datanode 各自负责什么

8. 在 Hive 中,如何使用 HQL 语句进行分区(按省和市)

9. YARN 资源管理器和 HDFS WEB UI 分别对应的端口号以及主要的功能是什么

10. HDFS 编程方式上传文件到 FS,对文件进行操作的相应 API(特别核心的 API)的名称

11. 知道如何去查看 NameNode 和 DataNode 的状态

12. Hive 中,掌握如何将本地文件上传到 HDFS 服务器上,也掌握如何从 HDFS 服务器上将文件下载到本地

13. Map 阶段的输出就是 Reducer 阶段的输入,了解 Reducer 阶段输入数据类型是什么

14. HDFS 具有很高的可靠性的原因因为采用了副本策略,配置策略(每台数据节点应该部署多少个副本才是合理的)

15. 在 Hive 中区分内部表和外部表,删除外部表和删除内部表,元数据和实际数据会不同处理的策略。


🧮 三、HIVE分区表与MR流程(来自图片1)

1、HIVE 分区表的设计
  • 了解 Hive 分区表的优缺点

  • 会编写 HiveQL(HQL)语句,加载本地(HDFS)数据到某一个表(分区表)中(课堂派上的作业再去复习一下)

  • 会向表中插入数据

  • 2、HDFS 读写流程
    • (写入数据的流程和读取数据的流程。读写的过程其实是和 namenode 以及 datanode 进行交互的一个过程。涉及到数据块的传输的过程(pipeline 的机制),如何知道写入数据是成功的?)

    3、MapReduce 原理和 Shuffle 机制
  • 给定输入数据 student teacher student may can can may,完成单词统计,Map 阶段的完整输出是什么?

  • 会描述 Shuffle 机制对 Map 阶段的处理过程

  • 掌握 Reduce 阶段的输出结果。

  • 4、Hadoop 集群规划和部署

    给定一个集群的场景(部署一个微型的 Hadoop 集群,1台 master,2台 slave)

  • 掌握如何将此集群配置起来(了解需要哪些配置文件?重要配置项需要掌握)

  • 跑起来,掌握从格式化到正常启动的整个过程的操作(掌握关键的操作命令)

  • 集群启动完成后,如何验证集群工作是正常的。


  • 💻 四、Hive表的操作与Java/Shell编程(来自图片3与部分图片1底部)

    1、Hive 表的操作

    (1) 新建表:
    Hive 表分为:

    • 1、内部表(管理表): 默认新建的表就是内部表。新建表的时候,未指定位置,默认存放在 /user/hive/warehouse,也可以通过关键字 LOCATION 指定具体的存放位置。

    • 2、外部表: 新建外部表的时候要带上关键字 CREATE EXTERNAL TABLE。

      • 特点:删除外部表只会删除元数据,不会删除数据本身。

    • 3、分区表: 分区其实理解为分类,实际使用字段作为分类的名称。

      • 注意:作为分区用的字段不能和定义表中的字段重复(分区用的字段不能在定义表中)。

    • 建表格式(示例):

      • 一般新建的表以内部表比较常用。

      • 提供学生表:字段名称、字段类型、字段描述(备注)。

      • 如:2302201002,张三,21,数科系,(2023-9-15)

      • 新建表的时候使用告知表结构信息。建表的时候字段分隔符,一般用逗号(空格),一般要指定存储格式,常见的存储格式:textfile 等。

    (2) 往表中插入数据:
    一条或多条数据:
    (2302201002,张三,21,数科系,(2023-9-15)) (注:具体表字段根据实际建表结构为准)

    (3) 查询:
    查找2023年及以后注册的所有学生信息。从注册ID从小到大排序(倒序)。

    (4) 统计:
    统计每个系的学生人数,计算学生的平均年龄。

    2、要求编写 Java 程序调用 HDFS API 实现文件的上传或下载(从 HDFS 复制到本地或从本地复制到 HDFS)

    (1) 将 Hadoop 的包导入(会罗列主要的3-5个包名称),访问文件系统必须掌握 FileSystem 的实例化(产生一个对象)。
    (2) 掌握在程序代码中设置 HDFS 文件的源路径(HDFS 中的目录)和目标路径(本地目录)。
    (3) 掌握实现文件下载的核心代码;
    (4) 掌握异常处理机制:
    try { 可能存在错误的代码 } catch (Exception ex) { 获取具体错误信息 }

    3、学会使用 Shell 批量的操作

    (1) 掌握在 HDFS 创建文件、创建目录,具体的操作命令及参数参考 P101 常用 HDFS 命令。学会使用判断目录如果不存在再创建。
    (2) 掌握使用 HDFS 的命令操作,将本地目录下的文件上传到 HDFS 指定的目录。不仅掌握单个文件上传,掌握按文件操作。例如:将某个目录下所有以 ./demo 开头的文件全部拷贝到指定的 HDFS 目录中。
    (3) 掌握递归的目录及子目录,学会通过递归的方式遍历某个指定的目录,查看该目录下的所有文件夹或子文件。
    (4) Linux 中的 Shell 脚本,特别是一些比较常用的掌握。例如:统计一下在 /aaa/bbb 目录下面的文件的数量。

    例题 2:HiveQL (HQL) 查询操作

    1. 现有 Hive 表结构

    字段名

    类型

    描述

    stu_no

    INT

    学生学号

    stu_name

    STRING

    学生姓名

    stu_dept

    STRING

    学生所在的系名称

    stu_age

    INT

    学生年龄

    stu_date

    STRING

    学生注册日期

    2. 操作任务与解答

    • (1) 创建内部表

      • 要求:创建表 student,指定字段分隔符为逗号,存储格式为 TEXTFILE。

    • (2) 插入记录

      • 要求:向表中插入三条记录。

      • 数据:

      • (2221001,'张三','信息工程系',18,'2022-9-12')

      • (2321002,'李四','数科系',19,'2023-9-15')

      • (2321002,'王五','信息工程系',20,'2023-9-17')

    • (3) 条件查询与排序

      • 要求:查询 2023 年及以后注册的学生信息,按照学生年龄大小从大到小排序。

    • (4) 分组统计

      • 要求:统计每个系的学生人数和平均年龄。


    例 3:HDFS 读写流程

    题目要求:描述 HDFS 客户端写入一个 500M 文件的完整流程。

    1. 客户端与 NameNode 的交互过程

    • 客户端首先向 NameNode 请求创建文件。

    • NameNode 检查文件是否存在、检查权限是否合法。

    • 检查通过后,NameNode 返回可以写入的 DataNode 列表。

    2. 数据块 (Block) 的传输过程和流水线复制 (Pipeline) 机制

    • 客户端将文件切分为 Block(默认 128M,注:图中示例为12M,通常默认为128M)。

    • 第一个 DataNode 与第二个建立连接,第二个和第三个建立连接,形成 Pipeline 机制。

    • 数据实质是以 packet 包为单位在 Pipeline 中传递,各节点边接收边转发。

    3. 写入完成后 NameNode 的确认机制

    • 每个 DataNode 写完数据块之后,向 NameNode 发送块报告。

    • 客户端收到 DataNode 的确认之后,向 NameNode 确认写入完成。

    • NameNode 更新元数据,记录文件与数据库的映射关系。

    赞(0)
    未经允许不得转载:171主机测评 » 大数据技术课程总复习知识点
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址