将 MapReduce 作业的输出记录到文本文件

2024-02-21

我一直在使用这个 jobclient.monitorandprintjob() 方法将映射缩减作业的输出打印到控制台。我的用法是这样的:

job_client.monitorAndPrintJob(job_conf, job_client.getJob(j.getAssignedJobID()))

其输出如下(打印在控制台上):

13/03/04 07:20:00 INFO mapred.JobClient: Running job: job_201302211725_10139<br>
13/03/04 07:20:01 INFO mapred.JobClient:  map 0% reduce 0%<br>
13/03/04 07:20:08 INFO mapred.JobClient:  map 100% reduce 0%<br>
13/03/04 07:20:13 INFO mapred.JobClient:  map 100% reduce 100%<br>
13/03/04 07:20:13 INFO mapred.JobClient: Job complete: job_201302211725_10139<br>
13/03/04 07:20:13 INFO mapred.JobClient: Counters: 26<br>
13/03/04 07:20:13 INFO mapred.JobClient:   Job Counters<br>
13/03/04 07:20:13 INFO mapred.JobClient:     Launched reduce tasks=1<br>
13/03/04 07:20:13 INFO mapred.JobClient:     Aggregate execution time of mappers(ms)=5539<br>
13/03/04 07:20:13 INFO mapred.JobClient:     Total time spent by all reduces waiting after reserving slots (ms)=0<br>
13/03/04 07:20:13 INFO mapred.JobClient:     Total time spent by all maps waiting after reserving slots (ms)=0<br>
13/03/04 07:20:13 INFO mapred.JobClient:     Launched map tasks=2<br>
13/03/04 07:20:13 INFO mapred.JobClient:     Data-local map tasks=2<br>
13/03/04 07:20:13 INFO mapred.JobClient:     Aggregate execution time of reducers(ms)=4337<br>
13/03/04 07:20:13 INFO mapred.JobClient:   FileSystemCounters<br>
13/03/04 07:20:13 INFO mapred.JobClient:     MAPRFS_BYTES_READ=583<br>
13/03/04 07:20:13 INFO mapred.JobClient:     MAPRFS_BYTES_WRITTEN=394<br>
13/03/04 07:20:13 INFO mapred.JobClient:     FILE_BYTES_WRITTEN=140219<br>
13/03/04 07:20:13 INFO mapred.JobClient:   Map-Reduce Framework<br>
13/03/04 07:20:13 INFO mapred.JobClient:     Map input records=6<br>
13/03/04 07:20:13 INFO mapred.JobClient:     Reduce shuffle bytes=136<br>
13/03/04 07:20:13 INFO mapred.JobClient:     Spilled Records=22<br>
13/03/04 07:20:13 INFO mapred.JobClient:     Map output bytes=116<br>
13/03/04 07:20:13 INFO mapred.JobClient:     CPU_MILLISECONDS=1320<br>
13/03/04 07:20:13 INFO mapred.JobClient:     Map input bytes=64<br>
13/03/04 07:20:13 INFO mapred.JobClient:     Combine input records=13<br>
13/03/04 07:20:13 INFO mapred.JobClient:     SPLIT_RAW_BYTES=180<br>
13/03/04 07:20:13 INFO mapred.JobClient:     Reduce input records=11<br>
13/03/04 07:20:13 INFO mapred.JobClient:     Reduce input groups=11<br>
13/03/04 07:20:13 INFO mapred.JobClient:     Combine output records=11<br>
13/03/04 07:20:13 INFO mapred.JobClient:     PHYSICAL_MEMORY_BYTES=734961664<br>
13/03/04 07:20:13 INFO mapred.JobClient:     Reduce output records=11<br>
13/03/04 07:20:13 INFO mapred.JobClient:     VIRTUAL_MEMORY_BYTES=9751805952<br>
13/03/04 07:20:13 INFO mapred.JobClient:     Map output records=13<br>
13/03/04 07:20:13 INFO mapred.JobClient:     GC time elapsed (ms)=0<br>

我希望将上述输出/日志打印在文本文件中,而不是控制台中。有什么建议么?


在您的 HADOOP_HOME/conf 中您可能会找到一个名为:log4j.properties。我相信您可以在那里配置登录位置和方式。

准确地说,您应该使用滚动文件追加器,所以你应该取消注释(只需删除#)以下几行来自log4j.properties file:

# Rolling File Appender
#

#log4j.appender.RFA=org.apache.log4j.RollingFileAppender
#log4j.appender.RFA.File=${hadoop.log.dir}/${hadoop.log.file}

# Logfile size and and 30-day backups
#log4j.appender.RFA.MaxFileSize=1MB
#log4j.appender.RFA.MaxBackupIndex=30

#log4j.appender.RFA.layout=org.apache.log4j.PatternLayout
#log4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} - %m%n
#log4j.appender.RFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n

并根据您的喜好自定义其他参数。

有关 log4j 配置的更多信息,请阅读here http://logging.apache.org/log4j/2.0/manual/configuration.html#AutomaticConfiguration.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 MapReduce 作业的输出记录到文本文件 的相关文章

随机推荐

  • 如何在Python中找到两个字符串之间的最长交集?

    我正在尝试编写一个程序来找到两个字符串之间最长的交集 条件是 如果没有公共字符 程序将返回一个空链 如果有多个相同长度的公共字符子串 则应返回最大的一个 例如 对于 bbaacc 和 aabb 重复子串是 aa 和 bb 但 bb gt a
  • Mock 框架与 MS Fakes 框架

    对 NMock 等 Mock 框架与 VS 2011 Fakes 框架的差异有点困惑 通过MSDN 我了解到Fakes允许您像RhinoMock或NMock一样模拟您的依赖项 但是方法不同 Fakes生成代码来实现此功能 但Mocks框架不
  • 选定的文本背景颜色

    当我使用任何网站时 我看到选定的文本背景颜色显示蓝色或根据我们的操作系统主题 我可以更改此选定的文本背景颜色吗 您可以使用这种风格 这适用于除 IE 之外的所有主要浏览器
  • Python 3.3 无法导入 Crypt

    当我在命令行中输入 import Crypt 时 它会显示 gt gt gt import crypt Traceback most recent call last File
  • 如何编写正则表达式“行”包含字符串[重复]

    这个问题在这里已经有答案了 我有字符串 one line second line magic line foo third line 如何仅使用关键字将整行与 foo 匹配foo 所以 我可以匹配foo using foo g 但我不知道如
  • 如何在运行时获取测试环境

    我想检查代码是否正在运行go test 这样我就可以进行一些配置 有什么功能可以做到这一点吗 喜欢 运行时 IsBeingTested 只需指定您在 test 中运行测试init 例如 在 pkg go 中 package pkg var
  • 从 Chrome 94+ 与不支持 HTTPS 的 LAN 设备通过网络应用程序进行通信

    我们开发了一个 Web 应用程序 通过发送 POST 请求与连接到同一 LAN 的打印机进行通信 此类打印机有一个在端口 80 上打开的服务器 该服务器接受包含命令的 XML 无法从通过 HTTPS 加载的页面与网络设备进行通信 因此 我们
  • 调用 SaveChanges() 时排除更新属性

    似乎有两种方法可以使用 附加 方法来更新断开连接的实体框架实体 方法一是简单地将断开连接的实体的状态设置为已修改 myDbContext Dogs Attach dog myDbContext Entry dog State EntityS
  • 如何在C#中枚举音频输出设备

    我想知道如何获取计算机上已安装的音频输出设备 waveOut 的列表 操作系统 Windows XP Vista 7 框架 Net 3 5 语言 c 迭代此列表时 我想获取每个设备的标识符 制造商等信息 有什么提示吗 下面是使用 WMI 参
  • JSP 组件创建

    创建 JSP 页面时 我经常喜欢的一件事是能够执行以下操作
  • Gulp 伊斯坦布尔完整覆盖报告

    我正在使用 gulp istanbul 通过 Gulp 生成 JavaScript 单元测试覆盖率报告 有没有办法配置 Istanbul 以生成我的 gulp 流中所有 JS 文件的完整覆盖率报告 而不仅仅是测试用例涉及的文件 我正在开发一
  • main 函数不返回任何内容。为什么? [复制]

    这个问题在这里已经有答案了 对于 C C main 必须始终返回一个整数 零表示成功 非零表示失败 我可以理解这一点 因为程序运行时它成为一个进程 每个进程都应该有一个退出状态 我们通过执行 echo 获得退出状态 进程结束后从 shell
  • 如何在 git 中找到 origin/master 的位置,以及如何更改它?

    我是 Git 新手 我最近将一个 Rails 项目从 Subversion 迁移到了 Git 我按照这里的教程进行操作 http www simplisticcomplexity com 2008 03 05 cleanly migrate
  • 如何创建像所附照片一样的用户界面

    谁能告诉我这个照片效果叫什么 我想知道如何为这个附加的图像效果创建一个适配器 编辑 这是Android市场的示例照片 我想创建一个这样的布局 我想这应该覆盖 GridView 适配器 肖像截图 风景截图 另一张截图 我非常抱歉我的问题对你们
  • 如何使用 Google Colab 安装 vizdoom?

    我正在关注本教程 https github com simoninithomas Deep reinforcement learning Course blob master Policy 20Gradients Doom Doom 20R
  • Matlab 箱线图属性

    I m trying to plot this box plot like this 我尝试了这段代码 boxplot randn 10 98 notch on set 0 DefaultAxesFontName Cambria Math
  • Heroku Rails Net::HTTP: OpenSSL::SSL::SSLError: SSL_connect 返回=1 errno=0 状态=SSLv3 读取服务器证书 B: 证书验证失败

    我有一个在 Heroku 服务器上运行的 Rails 应用程序 但我在使用 Net HTTP over HTTPS 与外部服务器通信时遇到问题 每当我尝试时收到的错误POST通过 HTTPS 到外部专有 API 的方法是 OpenSSL S
  • 为什么我的小型大写字体变体 CSS 类被忽略?

    我添加了这个 CSS 类 beanies font variant small caps 我从几个地方调用它 再加上另一个类 以这种方式尝试 p class coolPools beanies LICENSE 764014 p 和这个 h3
  • 列数会影响MYSQL的速度吗?

    我有一张桌子 我只需要运行一种类型的查询 在第 1 列中查找给定的唯一值 然后获取前 3 列 现在 如果我在表中添加额外的几列以进行基本的 数据存储 会对速度产生多大影响 我知道我应该使用一个单独的表 但假设我仅限于只有 1 个表 所以唯一
  • 将 MapReduce 作业的输出记录到文本文件

    我一直在使用这个 jobclient monitorandprintjob 方法将映射缩减作业的输出打印到控制台 我的用法是这样的 job client monitorAndPrintJob job conf job client getJ