Callback参数如何使用WebHCat / Hive工作?

时间:2014-11-03 07:58:35

标签: spring hadoop hive hql hcatalog

我只是按照文档进行操作 WebHCat Reference Hive

我的目标是在蜂巢工作状态成功后调用我的弹簧控制器。

**here are my inputs :** 

**url** : http://localhost:50111/templeton/v1/hive?user.name=hduser

**Parameter:**
callback : http://domain:port/project-name/mycall/$jobId

$ jobId只是一个参数,一旦处理完成,它将被替换为实际的jobId。

** here is my controller : ** 

@RequestMapping(value = "/mycall/{jobId}", method = RequestMethod.GET)
    public void callBack( @PathVariable String jobId) throws IOException {
LOGGER.debug("JobId : {}", jobId );
}

1 个答案:

答案 0 :(得分:0)

我已经使用express在node.js中成功完成了这项工作。我试着解释一下。

首先,我使用请求模块提交作业

var cmd = "http://"+targ+":"+port+"/templeton/v1/hive";
request({
    method: 'POST',
    url: cmd,
    form: {
        'user.name': user, // just a variable for user.name=
        'execute': query, // actual query string
        'statusdir': dir,  // directory results will go on hdfs
        'callback': "http://"+ip+":3000/callback/$jobId", // callback address
    }
}, function(err, response, body){

现在接收回调的路线。

router.get('/:jobid', function(req, res) {
  var jobid = req.param('jobid');
  console.log(jobid, 'get: /callback/:jobid');
  i.alert(jobid);
  res.status(200).end();
});

/ callback在app.js中,如果您不熟悉节点,则调用该路由。