以下是我对处理文本文件的hadoop框架的看法。如果我在某个地方出错,请纠正我。
每个映射器都作用于包含一些记录的输入拆分。对于每个输入拆分,都会创建一个记录读取器,它开始从输入拆分中读取记录。如果输入拆分中有 n 条记录,则映射器中的 map 方法被调用 n 次,然后使用记录读取器读取键值对。
现在进入数据库透视图,我在单个远程节点上有一个数据库。我想从这个数据库的表中获取一些数据。我将使用 DBConfigure 配置参数并使用 DBInputFormat 提及输入表。现在假设我的表总共有 100 条记录,我执行一个 SQL 查询,在输出中生成 70 条记录。
我想知道 :
在上述案例(数据库)中如何创建 InputSplits?
输入拆分创建取决于什么,我的 sql 查询生成的记录数或表(数据库)中的记录总数?
在上述情况(数据库)中创建了多少 DBRecordReader?