Tag: datastax

将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表的脚本)。

datastax Node.js驱动程序中的“无法为条件更新提供自定义时间戳”

我尝试使用datastax Node.js驱动程序(cassandra-driver@2.2.2)将logging插入到cassandra-2.2.3中。 大部分的cql操作都能正常工作,但是下面的cql语句不能正确执行。 驱动程序继续响应“无法提供有条件更新的自定义时间戳”? var current = new Date(); var current_timestamp = current.getTime(); var userId = uuid.random(); var cqlStatement = "INSERT INTO user_credentials(email, password, userid) VALUES(?, ?, ?) IF NOT EXISTS USING TIMESTAMP ?"; var cqlParams = [user.emailAddress, user.password, userId, current_timestamp]; cassandra_client.execute(cqlStatment, cqlParams, { prepare: true }, function (err, result) { if (err) { var […]

无法连接到scassandra(残桩cassandra)使用datastax驱动程序

我有麻烦连接到cassandra。 我试图连接到s-cassandra(这是一个残桩cassandra可以在这里审查),一个datastax node.js cassandra驱动程序 。 由于某些原因,将“127.0.0.1:8042”作为接触点传递给驱动程序会导致DriverInternalError : (强硬有时它确实随机工作,我还没有弄清楚为什么有时候会这样做,有时我不会..) DriverInternalError我得到: {“name”:“DriverInternalError”, “stack”:“…”, “消息”:“本地数据中心无法确定”, “info”:“代表驱动程序或Cassandra主机中的错误。” } 这就是我从Cassandra Driver日志中看到的: log event: info — Adding host 127.0.0.1:8042 log event: info — Getting first connection log event: info — Connecting to 127.0.0.1:8042 log event: verbose — Socket connected to 127.0.0.1:8042 log event: info — Trying to use protocol version 4 […]

在数据库查询完成之前,Cassandra nodejs eachRow返回

我使用Cassandra与nodejs来获取eachRow大表。 我需要在每一行插入数据,但由于某种原因,它不会等待查询,并在完成之前完成。 client.eachRow(query, [], { prepare: true, autoPage : true, fetchSize: 500 }, function(index, row) { // DB query / insert or update , function(err, result) { // Finish all rows. }); 有什么build议么?

卡桑德拉不一致

我们正在运行具有3个节点和2的复制因子的cassandra集群。 我们的nodejs服务器是这个群集查询的唯一位置。 我们正在使用datastax node.js驱动程序创build一个客户端,如下所示: var client = new cassandra.Client({contactPoints: [<contact point>], keyspace: 'test_keyspace', queryOptions: {consistency: cassandra.types.consistencies.two}}); 我的理解是这个一致性参数设置为2应该使我们的读/写一致,只要我们等待一个响应,然后再继续下一个查询,但是这不会发生。 如果我们在请求数据之前等待响应,是否真的如上所述应该保证一致性? 有没有其他地方可能会有参数设置,可能会导致不一致的查询? cassandra v2.2.4 nodejs驱动程序版本v3.0.0 编辑 – 添加我在做什么的例子: 表: test_keyspace.users(id uuid,username text,join_date timestamp,PRIMARY KEY(id)) test_keyspace.username(username text,uuid id,PRIMARY KEY(username,id)) 在创build用户: 1)检查用户名没有被采取 var query = "SELECT * FROM test_keyspace.username WHERE username=?"; db.execute(query, [username], function(err, result){ if(err){ //fail check – api […]

如何使nodejs cassandra驱动程序在Lambda中工作?

Lambda没有返回callback函数,如果我没有closures连接,但如果我closures连接第二次function不工作,我得到错误:“关机后关机不支持”代码: client.connect(function(err) { console.log(err); const query = 'SELECT * FROM table LIMIT 1'; client.execute(query, [], {}, function(err, result) { if (err) { console.log("there was an err"); console.log(err); process.exit(); } else { client.shutdown(function() { callback(null, {}); }); } }); }); 我知道这是它的工作方式: http : //docs.datastax.com/en/developer/nodejs-driver/latest/faq/#should-i-shut-down-the-pool-after-executing-一个问题 但有没有解决scheme来pipe理Lambda上的连接? 更多关于Lambda容器重用的信息: https : //aws.amazon.com/blogs/compute/container-reuse-in-lambda/