面试考点
- Sqoop 底层生成的 MapReduce 程序只有 MapTask,没有 ReduceTask。默认开启 4 个 MapTask。
注意点
- Sqoop1 和 Sqoop2 不兼容
基本原理
将命令转换成 MapReduce 程序
导入和导出的概念
1、导入: 从非大数据集群向大数据集群中传输数据,使用 import 关键字
2、导出: 从大数据集群向非大数据集群中传输数据
案例1: MySQL -> HDFS
全量导入
1、MySQL 参数
序号 | 参数 | 参数值 | 含义 |
---|---|---|---|
1 | –connect | jdbc:mysql://hadoop102:3306/gmall | |
2 | –username | root | |
3 | –password | ||
4 | –table | user_info | MySQL 中的表格 |
2、HDFS 参数
序号 | 参数 | 参数值 | 含义 |
---|---|---|---|
1 | –target-dir | /test | HDFS路径 |
2 | –delete-target-dir | 路径存在会报错 | |
3 | –num-mappers | 默认为 4 个 | |
4 | –fields-terminated-by | 默认为 ‘\001’,注意 MySQL 中的数据分隔符是否与指定的分隔符相同 |
3、Shell 脚本
bin/sqoop import \
--connect jdbc:mysql://hadoop102:3306/gmall \