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

标签 python node.js hive fiware fiware-cosmos

我实际上是在尝试开发一个简单的 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 来查询我拥有的数据。您认为问题出在哪里?模块? Cosmos 门户?

最佳答案

我们目前正在向 Cygnus 添加一套 Hive 客户端示例,用于使用 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 等库相同的情况.

关于python - 无法连接到 Cosmos 以使用 Python 或 Node.js 客户端查询 Hive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30329064/

相关文章:

python - 在 Pandas 中添加日期

javascript - Stripe 发票项目并不总是在一张发票中一起发送

node.js - 如何获取redis中的所有用户

hadoop - 子查询中的 Hive 'limit' 在完整查询后执行

python - Pandas 用数组更新列

python - Google App Engine ndb 中的分层标签

javascript - 循环 10k 数组表示错误超出最大调用堆栈大小

apache-spark - 获取 java.lang.LinkageError : ClassCastException when use spark sql hivesql on yarn

mysql - 无法使用 MySql 空密码启动 Hive 元存储

python - ffmpeg RTSP 到 RTMP - 在 Python 3 中运行时出现语法错误