使用node.js通过jdbc连接到impala

我正在使用npm模块jdbc尝试连接到Cloudera Impala。

我已经尝试了hiveserver2的apache hive-jdbc-0.13.1-cdh5.3.3.jar以及Cloudera JDBC ImpalaJDBC41.jar

var jdbc = new (require('jdbc')); var config = { libpath: '/home/ubuntu/downloads/impala_jdbc/hive-jdbc-0.13.1-cdh5.3.3.jar', libs:'/home/ubuntu/downloads/impala_jdbc/lib/*.jar', drivername: 'org.apache.hive.jdbc.HiveDriver', url: 'jdbc:hive2://54.172.122.6:21050/;auth=noSasl' + process.argv[2] }; //Initialize jdbc object jdbc.initialize(config, function(err, res){ if (err){ console.log(err); } }); jdbc.open(function(err, conn) { if (conn) { //Run first query jdbc.executeQuery('show databases', function(err, results){ if (err){ console.log(err); } else if (results) { console.log(results); } }); }else{ console.log('Connection object:' + conn); console.log(err); } }); jdbc.close(function(err){ if(err) { console.log(err); } else { console.log('Connection closed successfully!');} }); 

每当我运行它(纠正每个驱动程序path后),我得到以下

 /home/ubuntu/PlayArea/ImpalaJDBC/node_modules/jdbc/lib/jdbc.js:22 java.classpath.push.apply(java.classpath, self._config.libs); ^ TypeError: Function.prototype.apply: Arguments list has wrong type at JDBCConn.initialize (/home/ubuntu/PlayArea/ImpalaJDBC/node_modules/jdbc/lib/jdbc.js:22:24) at Object.<anonymous> (/home/ubuntu/PlayArea/ImpalaJDBC/server.js:12:6) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:935:3 

我假设我的libspath没有find所需的所有jar子