一:背景
有时候,我们可以不以偏移量和行文本内容来作为数据源到MapTask的输入格式,而使用键值对的形式,使用KeyValueInputFormat就可以完成这种需求。
二:技术实现
数据源如下

操作代码如下:
public class MyKeyValueTextInputFormat {
// 定义输入路径
private static final String INPUT_PATH = "hdfs://liaozhongmin:9000/hello";
// 定义输出路径
private static final String OUT_PATH = "hdfs://liaozhongmin:9000/out";
public static void main(String[] args) {
try {
// 创建配置信息
Configuration conf = new Configuration();
//设置行的分隔符,这里是制表符,第一个制表符前面的是Key,第一个制表符后面的内容都是value
conf.set(KeyValueLineRecordReader.KEY_VALUE_SEPERATOR, "\t");
/**********************************************/

本文介绍了如何在Hadoop中利用KeyValueInputFormat以键值对的形式处理数据,而非传统的偏移量和行内容。通过示例代码展示了具体的实现过程,并给出了程序的运行结果。
最低0.47元/天 解锁文章
1616

被折叠的 条评论
为什么被折叠?



