1. Sqoop的导入过程
在开始导入之前,Sqoop会通过JDBC来获得所需要的数据库元数据
- 1.导入表的列名、数据类型等;
- 2.接着这些数据库的数据类型(varchar、number等)会把映射成Java的数据类型(String、int等),根据这些信息,Sqoop会生成一个与表名同名的类用来完成反序列的工作,保持表中的每一行记录;
- 3.Sqoop启动MapReduce作业
- 4.启动的作业在input的过程中,会通过JDBC读取数据库表中的内容;
- 5.这是会使用Sqoop生成的类进行反序列话
- 6.最后再将这些记录写到HDFS中,在写入HDFS的过程中,同样会使用Sqoop生成的类进行序列化。
2. Sqoop的导出过程
- 1/2 Sqoop根据目标表的结构会生成一个Java类
- 3.该类作用为序列化和反序列化
- 4.接着启动一个MapReduce作业
- 5.在作业中会生成的Java类从HDFS中读取数据
- 6.并生成一批INSERT语句,每条语句都会向MySQL的目标表中插入多条记录