【问题标题】:R script log is not getting as output on oozie tasks logR 脚本日志未作为 oozie 任务日志的输出
【发布时间】:2014-01-09 06:06:40
【问题描述】:

我使用下面的 Rscript 作为 hadoop 流的映射器。我想在 tasktracker 的控制台或 oozie 所做的任何其他日志位置上查看日志信息\警告等,但它没有任何原因。我的 oozie 工作已成功完成

脚本

#! /usr/bin/env Rscript

library(methods)
library(utils)
library(devtools)
library(corpcor)
library(getopt)
library(logging)
library(HadoopStreaming)

main <- function() {
   paste("A", 1:50, sep = "")
   input <- file("stdin", open = "r")
   loginfo("CUSTOM ERROR")

   targets <- read.table(file="meta_reference1.csv", sep=";")
   print("############################################")
   print(target)
   close(input)

}

为测试目的更新了 Rscript

#! /usr/bin/env Rscript

library(methods)
library(utils)
library(devtools)
library(corpcor)
library(getopt)
library(logging)
library(HadoopStreaming)

main <- function() {
  write("prints to stderr", stderr())
  write("prints to stdout", stdout())   
}

没有出现日志..请建议

【问题讨论】:

  • 糟糕,这是我的错误……我没有调用 main 函数,所以它不起作用。我刚刚打电话给 main() 并且它起作用了

标签: hadoop hadoop-streaming oozie rscript


【解决方案1】:

尝试使用 write 而不是 print,对我有用。

write("prints to stderr", stderr())

write("prints to stdout", stdout())

【讨论】:

  • 我得到如下。这对我不起作用 stdout logs stderr logs /bin/sh: module: line 1: syntax error: unexpected end of file /bin/sh: error importing function definition for `module' 是因为上面的错误它不起作用.. ?任何猜测
  • 请发布您的整个脚本,以防万一
  • 现在只是检查集群上的写入,我正在使用下面的脚本#! /usr/bin/env Rscript library(methods) library(utils) library(devtools) library(corpcor) library(getopt) library(logging) library(HadoopStreaming) main
  • 抱歉,上面粘贴的脚本中的格式似乎受到干扰
  • 糟糕,这是我的错误……我没有调用 main 函数,所以它不起作用。我刚刚打电话给 main() 并且它起作用了
猜你喜欢
  • 2020-11-06
  • 1970-01-01
  • 2018-07-12
  • 1970-01-01
  • 1970-01-01
  • 2012-04-21
  • 1970-01-01
  • 2017-05-07
  • 2023-02-21
相关资源
最近更新 更多