我需要动态地将Grails中生成的文件复制到Hadoop。我将如何在Grails中为此编写代码?每当生成文件时,都应将其复制到Hadoop中。如果传入的文件已经存在,它应该在Hadoop中更新。
答案 0 :(得分:0)
我使用shell脚本连接grails和hadoop。
我拥有在myjob.sh
(工作流脚本)
我添加了在我的控制器中执行shell脚本的代码
def scriptCom="/folderlocation/shellscript.sh"
println "[[Running $scriptCom]]"
def proc = scriptCom.execute()
def oneMinute = 60000
proc.waitForOrKill(oneMinute)
if(proc.exitValue()!=0){
println "[[return code: ${proc.exitValue()}]]"
println "[[stderr: ${proc.err.text}]]"
return null
}else{
println "[[stdout:$revisionid]]"
return proc.in.text.readLines()
}