Javascript Node JS与spark作业服务器的集成
我正在尝试从节点js调用spark作业服务器API。作为pythonegg文件的API确实提供了该文件中的空值计数。因此,一旦我从节点调用API,它就会到达SJS服务器,作业开始触发res.on('data')事件,之后不久,它也会在作业完成执行并返回结果之前触发res.on('end')。因此,由于这个原因,我无法在作业完成后获取数据 下面是代码片段,请让我知道这里的错误是什么Javascript Node JS与spark作业服务器的集成,javascript,python,node.js,apache-spark,spark-jobserver,Javascript,Python,Node.js,Apache Spark,Spark Jobserver,我正在尝试从节点js调用spark作业服务器API。作为pythonegg文件的API确实提供了该文件中的空值计数。因此,一旦我从节点调用API,它就会到达SJS服务器,作业开始触发res.on('data')事件,之后不久,它也会在作业完成执行并返回结果之前触发res.on('end')。因此,由于这个原因,我无法在作业完成后获取数据 下面是代码片段,请让我知道这里的错误是什么 var postData = { 'input': {
var postData = {
'input': {
'strings': {
'file': 'file path to be passed'
}
}
};
var options = {
hostname: 'localhost',
port: 8090,
path: '/jobs?appName=my_ml_job&classPath=my_py_package.NullCheck.nullcheck&context=py-context',
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Content-Length': Buffer.byteLength(JSON.stringify(postData))
}
};
var post_req = Http.request(options, function(res) {
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('Response: ' + chunk);
});
res.on('end', () => {
return{
'STATUS': 'FINISHED'
}
});
});
post_req.on('error', e => {
rj(e);
});
// post the data
post_req.write(postData);
post_req.end();
postData是一个对象,您应该将其转换为JSON字符串first@generalhenry产品代码中已经注意到了这一点,忘记在这里添加了。谢谢,我现在已经更新了。现在,我可以通过使用jobId轮询SJS来解决这个问题,并且在作业“完成”后,SJS将获取一次数据。