我是nodejs初学者,现在项目需要使用node.js去访问hdfs文件系统中的文件,查阅相关资料,说推荐使用webhdfs模块,创建client后读取数据流,再pipe到本地文件系统,code如下:
demo.js
var WebHDFS = require('webhdfs');
var fs = require('fs');
hdfs = WebHDFS.createClient({
user:'root',
host:'192.168.1.241',
port:80,
path:'/user/root/spark_lib/'
});
var localFileStream = fs.createWriteStream('/home/tera/workspace/t2/localFile.txt');
var remoteFileStream = hdfs.createReadStream('hdfs://192.168.1.241:8020/user/root/spark_lib/remoteFile.txt');
console.log(remoteFileStream);
remoteFileStream.pipe(localFileStream);
localFileStream.on('finish', function onFinish() {
console.log('finish');
});
localFileStream.on('error', function onError(err) {
console.log(err);
});
执行以上代码后本地生成localFile.txt但文件为空,求建议。