java - mapreduce.input.keyvaluelinerecordreader.key.value.separator参数在hadoop安装中的位置

标签 java hadoop mapreduce

我在 java 中使用 mapreduce 来读取由“:”分隔的键值类型文件。我想出了如何解析文件(使用 getConf().set("mapreduce.input.keyvaluelinerecordreader.key.value.separator", ":");)。我试图找出存储这些参数的位置但找不到。我在 hadoop 安装上做了一个 grep,但是没有设置这些参数的 xml 文件。根据documentation配置类,我试图在 mapred-default.xml 中找到该值,但没有成功。

我在哪里可以找到这些值?其他一些参数也是如此。

谢谢。

最佳答案

这应该出现在 mapred-site.xml 中。但是,默认情况下它不会添加到 XML 文件中。如果对于每个作业,您都使用相同的分隔符,那么您可以将此参数添加到 Hadoop 安装中的 mapred-site.xml 文件中。

此参数的此设置在代码中处理。

org.apache.hadoop.mapreduce.lib.input.KeyValueLineRecordReader.java(检查 KeyValueLineRecordReader.java )中,该值默认设置为制表符 ("\t")。

public static final String KEY_VALUE_SEPERATOR = 
"mapreduce.input.keyvaluelinerecordreader.key.value.separator";

该值在KeyValueLineRecordReader类的构造函数中设置:

String sepStr = conf.get(KEY_VALUE_SEPERATOR, "\t");

关于java - mapreduce.input.keyvaluelinerecordreader.key.value.separator参数在hadoop安装中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36657826/

相关文章:

java - 匿名内部类 - 表达式的非法开始

java - 非线性闲置游戏中如何管理时间?

java - JProfiler 7.2.2 远程 JVM 崩溃

java - 配置单元顶点失败 : killed/failed due to:ROOT_INPUT_INIT_FAILURE Caused by: java. lang.NullPointerException

java - MapReduce编程

java - 如何使用 JNDI Weblogic 访问 EJB

windows - Hadoop 二进制文件中的 java.io.IOException : Could not locate executable null\bin\winutils. exe

hadoop - Storm : storm-hdfs hdfs blolt failing after 24hrs

testing - HbaseTestingUtility和MapReduce作业

database - 结合 Hadoop MapReduce 和数据库查询