开发者社区> 问答> 正文

构造NextIterator的具体步骤是什么?

构造NextIterator的具体步骤是什么?

展开
收起
游客fbdr25iajcjto 2021-12-06 21:12:49 532 0
1 条回答
写回答
取消 提交回答
  • 1) 从broadcast中获取jobConf,此处的jobConf是hadoopConfiguration。

    2) 创建InputMetrics用于计算字节读取的测量信息,然后在RecordReader正式读取数据之前创建bytesReadCallback。byteReadCallback用于获取当前线程从文件系统读取的字节数。

    3) 获取inputFormat,此处的inputFormat是TextInputFormat。

    4) 使用addLocalConfiguration给JobConf添加Hadoop任务相关配置。

    5) 创建RecordReader,调用reader.createKey()和reader.createValue()得到的是LongWritable和Text。NextIterator的getNext实际是代理了RecordReader的next方法并且每读取一些记录后使用bytesReadCallback更新InputMetrics的bytesRead字段。

    6) 将NextIterator封装为InterruptibleIterator。

    InterruptibleIterator只是对NextIterator的代理,

    2021-12-06 21:13:17
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
建立联系方法之一 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载