首页 文章

无法连接到Cosmos以使用Python或Node.js客户端查询Hive

提问于
浏览
3

我实际上是在尝试开发一个简单的Node.js客户端,它可以用来查询Cosmos表上的Hive表 .

我首先尝试使用Node.js将此实现用于Hive:https://github.com/wdavidw/node-thrift-hive . 我的代码如下:

var router = express.Router();
var request = require('request');
var _ = require('lodash');

var hive = require('thrift-hive');
// Client connection
var client = hive.createClient({
  version: '0.7.1-cdh3u3',
  server: '130.206.80.46',
  port: 10000,
  timeout: 1000
});
// Execute call

router.route('/')
  .get(function(req, res, next) {

    client.execute('use default', function(err) {
      // Query call
      client.query('select * from interserre')
      .on('row', function(database) {
        console.log(database);
      })
      .on('error', function(err) {
        console.log(err.message);
        client.end();
      })
      .on('end', function() {
        client.end();
      });
    });
  })


module.exports = router;

我收到此错误:

events.js:85
      throw er; // Unhandled 'error' event
            ^
Error: connect ECONNREFUSED
    at exports._errnoException (util.js:746:11)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19)

之后我尝试使用Python示例(文档提供只是为了运行一个简单的测试 .

http://forge.fiware.org/plugins/mediawiki/wiki/fiware/index.php/BigData_Analysis_-_User_and_Programmer_Guide#Python

我甚至无法连接到服务器 .

Could not connect to 130.206.80.46:10000

我认为问题来自于我们不提供任何允许我们连接到Cosmos门户的信息 . 有了Thrift,你就无法提供你的凭据 . 服务器无法识别您是真正的Cosmos用户并拒绝您的连接 .

python只是一个测试 . 我实际上正在做一个Hackaton,并计划使用Node.js来查询我拥有的数据 . 您认为问题来自哪里?模块?宇宙门户?

1 回答

  • 2

    我们目前正在向Cygnus添加一套HiveServer客户端示例,用于以Java,Python和Node.js编写的HiveServer1和HiveServe2 . 这是出现在Cygnus 0.9.0中的内容,同时您可以在develop branch中检查作品的当前状态(Java和Python的客户端) .

    关于Node.js,有一些库允许以非经过身份验证的方式连接到HiveServer1(node-thrift-hivenode-hive)(从技术上讲,它们只能与Hive服务器的NOSASL配置一起使用) . 关于HiveServer2与jsh2等库相同 .

相关问题