当前位置: 首页 > 知识库问答 >
问题:

如何在上下文中输出值。写(k,v)

唐伟
2023-03-14

在我的mapduce作业中,我只想输出一些行。

但如果我这样编码:上下文。写入(数据,空);

该程序将抛出

我不想像下面这样编码:上下文.write(数据,新文本(“”));

因为我必须修剪输出文件中每一行的空白处。

有什么好的方法来解决它吗?提前致谢。

对不起,这是我的错误。我仔细检查了程序,发现原因是我把减速机设置为组合器。

如果我不使用组合器,语句上下文。写入(数据,空);在减速器中工作正常。在输出数据文件中,只有数据行。

分享来自hadoop权威指南的NullWritable解释:

Null 可写是一种特殊类型的可写,因为它具有零长度序列化。不会向流写入或读取任何字节。它被用作占位符;例如,在MapReduce中,当您不需要使用该位置时,可以将键或值声明为Null可写 - 它有效地存储了一个常量的空值。当您想要存储值列表(而不是键值对)时,Null 可写也可用作 SequenceFile 中的键。它是一个不可变的单例:可以通过调用空写.get()来检索实例。

共有1个答案

程旭尧
2023-03-14

为此,应使用NullWritable。

 类似资料:
  • 问题内容: 我有以下内容: 如何将其放入我的.rst文件?我这样写: 但是它仅打印而不是实际的URL。 如何获取要发出的实际配置值? 问题答案: 对于链接的替换, extlinks 很好,因为可以按照问题中的要求包含任意配置值,所以可以使用rst_epilog进行替换(或使用rst_prolog进行文本替换,应将其添加到.rst文件的顶部): 在您的conf.py中: 在您的.rst来源中: 我的

  • 问题内容: 我使用下面的代码可以正常工作,但是现在我想将模板打印到文件中,并尝试以下操作但出现错误 错误是: 问题答案: 使用数组作为第二个参数,而不是模板本身。 输出: 而且的内容是

  • 问题内容: Netbeans仔细地将Logger.getLogger(this.getClass()。getName())。log(Level。[…]语句撒到catch块中。现在,我想将它们全部指向一个文件(并指向控制台)。 每个日志教程(只有我这样)都告诉我如何获取特定的日志记录器以输出到文件中,但是我认为有比修复每个自动生成的日志记录语句更好的方法了?为某种类型的根记录程序设置处理程序? 问题

  • http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd“> 这里context1.xml是由context2.xml编写

  • 问题内容: 我正在尝试运行shell命令,捕获stdout并将该输出写入文件。但是,我似乎缺少了一些步骤,因为当程序存在时,我要写入的文件为空。如何捕获命令的标准输出并将其写入文件? 问题答案: 您需要冲洗编写器。添加以下内容:

  • 问题内容: 我认为以下代码应该可以工作,但是不能 (编辑:现在可以在PHP 5.5+中工作) : 简单地在哪里: 但是我最终遇到了这个错误: 在写上下文中不能使用方法返回值 这是什么意思?这不只是阅读吗? 问题答案: 需要通过引用访问该值(以检查该引用是否指向存在的对象),并且5.5之前的PHP不支持对从函数返回的临时值的引用。 但是,您真正的问题是,您根本使用了所有内容,错误地认为“空”值与“假