Tag: cql

将JSON模式转换为CQL(Cassandra)模式

我想将一个JSON对象,如下所示,转换成一个Cassandra模式/表。 举个例子,像这样的东西: { "type": "object", "properties": { "name": { "type": "string" }, "age": { "type": "integer" } } } 像这样的东西: CREATE TABLE IF NOT EXISTS people ( name text PRIMARY KEY, age int); 在Node.js中,使用Datastax Cassandra驱动程序 。 所以本质上:使用Node.js我想创build基于JSON模式的Cassandra表(不必手动创build表,但有节点parsingJSON对象并构build用于创buildCassandra表的脚本)。

如何通过节点js运行复杂的cassandra sql

我试图从node.js运行复杂的cassandra的SQL和使用cassandra express包,下面是查询: client.execute("select distinct c.objekt PSP, b.bestellung purchase_order, b.details, b.bestellnettowert Budget, c.Interim_Amounts, c.belegdatum, b.cost_centre from (select objekt, sum("Wert/KWahr") Interim_Amounts, belegdatum, bestellung from bdr.cj74 where year(belegdatum) = '2016' group by objekt, belegdatum, bestellung) c, (select bestellung, "Lieferant/Lieferwerk" details, bestellnettowert, belegdatum, "PSP-Elm", "Kostenst." cost_centre from bdr.opexcapex where year(opexcapex.belegdatum) = '2016') b where b."PSP-Elm" = c.objekt and year(c.belegdatum) […]

在cassandra中select组合types键

所以我定义了一个使用复合ID作为行键的列族。 所以说复合键是CompositeType(LongType,LongType) 。 所以我testing了这个types的存储项目,并且工作正常,而且当我知道完整的密钥时, SELECT按预期工作。 但让我们说,我想所有的键都有0作为第一个元素,任何作为第二个。 到目前为止,我可以看到执行此查询的唯一方法如下所示: 如果我所有的键都是0:*那么我会做一个CQL查询的key >= 0:0 AND key < 1:0 ,只要有一个顺序保存分区。 我的问题是: 1)是这个奇怪的语法只是因为我使用一个CQL驱动程序(除了节俭之外,只有nodejs的选项) 2)这种types的查询有没有效率低下? 基本上我使用复合键而不是超级列,因为这些在CQL中不受支持。 在代码中处理这个逻辑没有问题,只要没有像这样使用它的限制。

NodeJS:不能发射事件“Object … {}没有方法”emit“

我遵循了几个通过简单的REST web服务获得的Nodejs教程。 这个web服务监听/ api /帐户的电子邮件和密码,然后继续在Cassandra集群中查找。 我使用EventEmitter来避免callback地狱。 一切正常,直到试图发射('成功'): events.js:72 throw er; // Unhandled 'error' event ^ TypeError: Object SELECT * FROM accounts WHERE email_accounts=?,test@gmail.com,77ddcc8d868e1532f86f0e25f35d43e5,function _checkPassword(error, response) { var rows=response.rows; if (_checkForErrors(error, rows , 'password')) { return false; } else { if ( rows.length == 1 ) { console.log('got user profile with password_accounts ' + rows[0].pwd_accounts); this.emit('success', […]

卡桑德拉:操作超时

我正在使用cassandra节点JS驱动程序,我得到以下错误: error: Database error found %s . On selectAllJobs() call { name: 'ResponseError', message: 'Operation timed out – received only 0 responses.', info: 'Represents an error message from the server', code: 4608, consistencies: 1, received: 0, blockFor: 1, isDataPresent: 0, query: 'SELECT * FROM cron_tasks WHERE type =? AND starts < ? ALLOW FILTERING ;' […]

显示缓冲区types数据的string的cassandra timeuuid列

我正在使用NodeJS Cassandra驱动程序从Cassandra timeuuid列中检索数据。 现在,数据被检索为缓冲区types而不是stringtypes。 我需要数据作为stringtypes

在Cassandra使用CQL宽行 – 得到奇怪的错误

我试图在Cassandra中存储一个博客的评论,并提出了这个模式(从这里得到的想法): create table comments ( slug varchar, ts timestamp, value text, primary key (slug,ts)); 使用CQL(我用Helenus驱动程序使用node.js)我试图添加一些数据到它,这是迄今为止: var helenus = require('helenus'), pool = new helenus.ConnectionPool({ hosts: ['localhost:9160'], keyspace: 'blogks' }); pool.on('error', function(err) { console.error(err.name, err.message); }); module.exports.addComment = function(slug, comment,callback){ pool.connect(function(connErr,keyspace){ if(connErr){ callback(connErr); return; } var cql = "INSERT INTO comments (slug,ts,value) VALUES (?, ?, ?);"; pool.cql(cql,[slug,serializeDate(new […]

node.js node-cassandra-client请求失败

当我试图查询Cassandra服务器时,遇到同样的问题。 我有npm安装node-cassandra-client版本0.9.5。 var Connection = require('cassandra-client').PooledConnection; var hosts = ['host1:9160','host2:9160']; var cassandra = new Connection({'hosts': hosts, 'keyspace': 'keyspace'}); cassandra.on('log', function(level, message, obj) { console.log('log event: %s — %j', level, message); }); var cql = "SELECT * FROM columnFamily LIMIT 1"; cassandra.execute(cql, function(err, rows) { if(err) console.log("erreur à la requete"); console.log(rows); cassandra.shutdown(function() { console.log("connectoin pool shutdown"); […]