sqoop流程详解,sqoop详解
sqoop流程详解,sqoop详解
1.读取要导入数据的表结构,生成运行类,默认是QueryResult,打成jar包,然后提交给Hadoop 2.设置好job,主要也就是设置好以上第六章中的各个参数 3.这里就由Hadoop来执行MapReduce来执行Import命令了, 1)首先要对数据进行切分,也就是DataSplit DataDrivenDBInputFormat.getSplits(JobContext job) 2)切分好范围后,写入范围,以便读取 DataDrivenDBInputFormat.write(DataOutput output) 这里是lowerBoundQuery and upperBoundQuery 3)读取以上2)写入的范围 DataDrivenDBInputFormat.readFields(DataInput input) 4)然后创建RecordReader从数据库中读取数据 DataDrivenDBInputFormat.createRecordReader(InputSplit split,TaskAttemptContext context) 5)创建Map TextImportMapper.setup(Context context) 6)RecordReader一行一行从关系型数据库中读取数据,设置好Map的Key和Value,交给Map DBRecordReader.nextKeyValue() 7)运行map TextImportMapper.map(LongWritable key, SqoopRecord val, Context context) 最后生成的Key是行数据,由QueryResult生成,Value是NullWritable.get() 更多分享请关注:http://bbs.superwu.cn |
评论暂时关闭