视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
《大数据技术原理与操作应用》第9章习题答案
2025-09-30 22:56:02 责编:小OO
文档
第9章课后习题答案

一、选择题

1. 下列语句中,描述错误的是(   ) 。

A.可以通过 CLI 方式、Java Api 方式调用 Sqoop。

B.Sqoop 底层会将 Sqoop 命令转换为 MapReduce 任务,并通过 Sqoop 连接器进行数据的导入导出操作。

C.Sqoop 是的数据迁移工具,可以在任何系统上执行。

D.如果在 Hadoop 分布式集群环境下,连接 MySQL 服务器参数不能是“ localhost” 或“127. 0. 0. 1” 。    

参:C

2. 下列选项中,属于 Sqoop 命令的参数有() 。

A. import   B. output    C. input    D. export

参:AD

二、判断题

1. Sqoop 工具的使用,依赖 Java 环境和 Hadoop 环境。 (   )

参:对

2. Sqoop 从 Hive 表导出 MySQL 表时,首先需要在 MySQL 中创建表结构。 (    )

参:对

3. 如果没有指定“ --num-mappers 1”( 或“ -m 1”,即 Map 任务个数为“1”),那么在命令中必须还要添加“ --split-by” 参数。 (   )

参:对

4. 如果指定了“ \\n” 为 Sqoop 导入的换行符,当 MySQL 的某个 string 字段的值如果包含了“ \\n”, 则会导致 Sqoop 导入多出一行记录。 (    )

参:对

5. 在导入开始之前,Sqoop 使用 JDBC 来检查将要导入的表,检索出表中所有的列以及列的 SQL 数据类型。 (    )

参:对

6. merge 是将两个数据集合并的工具,对于相同的 value 会覆盖新值。 (    )

参:错

7. metastore 文件的存储位置可以通过“conf / sqoop-site. xml” 配置文件修改。 (    )

参:对

8. $CONDITIONS相当于一个动态占位符,动态的接收传过滤后的子集数据,然后让每个Map任务执行查询的结果并进行数据导入。(   )

参:对

9. Sqoop 导出操作之前,目标表必须存在于目标数据库中,否则在执行导出操作时会失败。 (    )

参:对

10. Sqoop 中“ --where” 与“ --query” 命令都是数据过滤,“ --query” 是通过指定的查询语句查询出子集数据,然后再将子集数据进行导入。 (   )

参:对

11. Sqoop 增量导入的新结果文件只会将指定值后的数据添加到结果文件中。 (   )

参:对

12. 为了使用严谨,Sqoop 在导入数据时,必须要用字段分隔符号和行分隔符号。 (    )

参:对

13. “ --target-dir” 参数是指定 HDFS 目标目录地址, 因此, 需要提前创建目标文件。(    )

参:错

14. Sqoop 导出与导入是相反的操作,也就是将关系型数据库中的数据导入到 HDFS 文件系统中。 (   )

参:错

15. Sqoop 可以将命令转换为对应的 MapReduce 作业,然后将关系型数据库和 Hadoop 中的数据进行相互转换,从而完成数据的迁移。 (    )

参:对

16. 使用“ --create-hive-table” 命令导入数据时,Hive 数据仓库中必须存在指定表。 (    )

参:错

17. “ --where " city = 'sec-bad'" ” 命令表示筛选出 MySQL 数据库表字段为 city = sec-bad 的数据。 (    )

参:对

18. codegen 参数用于将关系数据库表映射为一个 Java 文件、Java class 类以及相关的 jar包。 (   )

参:对

19. Sqoop 导入数据时,可以通过“ --m n” 设置并行数,最终会在 HDFS 中产生 n 个文件。(   )

参:对

20. Sqoop 是关系型数据库与 Hadoop 之间的数据桥梁,这个“ 桥梁” 的重要组件是 Sqoop连接器。 (   )

参:对

三、填空题

1.如果使用Sqoop工具将MySQL表数据导入Hive数据仓库中,需要在“sqoop-env.sh”配置文件中配置____________。

参:Hive的安装路径

2.在Sqoop增量导入时,如果要导入指定ID后的数据内容,需要添加的命令为____________。

参:--last-value

3.Sqoop底层利用____________技术以批处理方式加快了数据传输速度,并且具有较好的容错性功能。

参:MapReduce

4.在部署Sqoop时,需要在“sqoop-env.sh”配置文件中添加_________环境。

参:Hadoop

5.Sqoop命令中,导入操作为___________,导出操作为export。

参:import

6.从数据库导入HDFS时,指定以制表符作为字段分隔符参数为____________。

参:--fields-terminated-by '\'

7.Sqoop连接器用于实现与各种关系型数据库的连接,从而实现数据的_________和导出操作。

参:导入

8.进行增量导入操作时,必须指定___________参数,用来检查数据表列字段,从而确定哪些数据需要执行增量导入。

参:--check-column

9.Sqoop主要用于在__________和关系型数据库之间进行传输数据。

参:Hadoop

10.利用Sqoop针对MySQL数据库进行数据前移工作时,需要将__________复制到Sqoop路径下的lib文件夹下。

参:MySQL连接驱动

11.Sqoop目前支持两种增量导入模式,分别是__________和lastmodified模式。

参:append模式

12.Sqoop数据导入(import)是将关系型数据库中的单个表数据导入到具有_________的文件系统中。

参:Hadoop分布式存储结构

13.使用___________命令可以查看Sqoop命令的用法。

参:help

14.如果想要将整个数据库中的表全部导入到HDFS,可以使用___________命令。

参:import-all-tables

四、简答题

1. 简述 append 模式和 lastmodified 模式的区别。

参:append模式主要针对INSERT新增数据的增量导入;lastmodified模式主要针对UPDATE数据的增量导入。

2. 简述“ --hive-table itcast. emp” 命令的含义。

参:用于指定上传到Hive上的目标地址为itcast数据仓库的emp表中。

3. 简述 Sqoop 导入与导出数据工作原理。

参:在导入数据之前,Sqoop使用JDBC检查导入的数据表,检索出表中的所有列以及列的SQL数据类型,并将这些SQL类型映射为Java数据类型,在转换后的MapReduce应用中使用这些对应的Java类型来保存字段的值,Sqoop的代码生成器使用这些信息来创建对应表的类,用于保存从表中抽取的记录。

在导出数据之前,Sqoop会根据数据库连接字符串来选择一个导出方法,对于大部分系统来说,Sqoop会选择JDBC。Sqoop会根据目标表的定义生成一个Java类,这个生成的类能够从文本中解析出记录数据,并能够向表中插入类型合适的值,然后启动一个MapReduce作业,从HDFS中读取源数据文件,使用生成的类解析出记录,并且执行选定的导出方法。

4. 简述“ --create-hive-table” 命令的含义。

参:用于指定自动创建指定的目标Hive表。

5. 简述“ -hive-drop-import-delims” 命令的含义。

参:删除数据中包含的Hive默认分隔符(^A, ^B, \\n)

6. 简述将 Hive 数据仓库中的表数据导出 MySQL 中的操作步骤。

参:(1)现在MySQL中创建与Hive具有相同字段的表结构。

(2)执行export导出命令。

7. 简述“ --connect” 命令的含义。

参:指定连接的关系型数据库,包括JDBC驱动名、主机名、端口号和数据库名称。

8. 简述“ --incremental append” 命令的含义。

参:指定增量导入模式为append类型。

9. 请写出通过 Sqoop 查询出连接的 MySQL 数据库中的所有数据库名的命令参数。

参:list-databases下载本文

显示全文
专题