有人可以给我一个实际情况,我们必须使用KeyValueTextInputFormat和TextInputFormat??
在TextInputFormat类的源文件的每一行转换成在BytesWritable键表示偏移的记录和文本价值代表了整个记录本身键/值类型.
它KeyValueTextInputFormat是TextInputFormat的扩展版本,当我们必须将每个源记录作为文本/文本对获取时非常有用,其中通过使用固定分隔符拆分记录来从记录中填充键/值.
考虑下面的文件内容,
AL#Alabama
AR#Arkansas
FL#Florida
Run Code Online (Sandbox Code Playgroud)
如果TextInputFormat已配置,您可能会看到键/值对为,
0 AL#Alabama
14 AR#Arkansas
23 FL#Florida
Run Code Online (Sandbox Code Playgroud)
如果KeyvalueTextInputFormat配置了conf.set("mapreduce.input.keyvaluelinerecordreader.key.value.separator", "#"),您可能会看到结果为,
AL Alabama
AR Arkansas
FL Florida
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2733 次 |
| 最近记录: |