問題タブ [cassandra-node-driver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
934 参照

node.js - Cassandra node.js ドライバーがダッシュ区切りの文字列を受け入れない

このドライバーを cassandra とノード js アプリの間のブリッジとして使用しています。次の問題を除いて、すべてが今までうまく機能しているようです:

問題 varchar 型の列があります。ダッシュ (-) を含む文字列を挿入すると、cassandra がエラーをスローしますString didn't validate.

次のようなバッチステートメントを使用しています

varchar はどこにありますか

バッチステートメントは

入力パラメータは次のとおりです。

この問題 を見たときにヒントを使用しようとしたことに注意してください。

このエラーを解決するには?

0 投票する
1 に答える
1909 参照

node.js - Node.jsドライバーを使用したCassandraでのSELECT ... INのクエリパラメーター形式

Node ドライバー経由で実行したい IN パラメーターを持つ Cassandra SELECT クエリがありますが、構文がわかりません。

cqlsh コンソールで、この select を実行して正しい結果を得ることができます。

ただし、Cassandra Node ドライバーを使用して ID の配列を使用してこのクエリを実行しようとすると、形式に応じてさまざまなエラーが発生します。これが私が試したことです:

エラーは次のとおりです。

ResponseError: タイプ uuid の item_id のリスト リテラルが無効です

これとともに:

エラーは次のとおりです。

ResponseError: 行 1:72 入力 '[' で実行可能な代替手段がありません (...WHERE company_id = 4 AND [item_id] in...)

item_ids は文字列オブジェクトの配列であり、別の Cassandra テーブルの選択によって取得されました。

これは動作中のアプリであり、「SELECT .. IN」を使用しない他のクエリは正常に動作します。

「醜い」方法で動作させることもできますが、そうしないことをお勧めします。

0 投票する
0 に答える
211 参照

cassandra - Nodejs ドライバーを使用してブール値を Cassandra に挿入しても機能しない

レプリケーション ファクター 2 で 3 ノードの Cassandra 2.2 クラスターをセットアップし、単純なテーブルを作成しました。

2.2 Datastax の Nodejs ドライバーを使用して、テーブルにデータを挿入しています。そして、次のようにデータを編集します。

新しいレコードを挿入すると、すべて正常に動作します。既存のレコードの有効な値を変更しようとすると、問題が発生します。奇妙なことは、有効な値がランダムに変更されることです。たとえば、3 つのリクエストを作成し、有効なプロパティを -> に変更したtrue, false, true 場合、3 番目のリクエストの後、データベースに残っているfalseか、2 番目のリクエストの後に false に変更されない可能性があります。これの理由がわかりません。

0 投票する
1 に答える
940 参照

cassandra - Cassandra Node.js: 大きなテーブルからすべての行をストリーミングする

実際にはそれほど大きくない Cassandra のテーブルがあります。わずか 50k 行。このテーブルからすべての行をストリーミングし、Elasticsearch でインデックスを作成する必要があります。

次の方法を使用して、Node.js で簡単なスクリプトを作成しました。

そして、dataイベントのリッスンを開始し、1000 行の一括リクエストを作成し、ストリームを一時停止し、行のインデックスを作成し、ストリームの一時停止を解除しました。

これは、1000〜2000行で正常に機能していました。しかし、テーブルのサイズが 50000 行に増えたので、query time out errorCassandra からフェッチしているときに取得します。

したがって、プロセスは開始されません。この問題を解決するための推奨される方法は何ですか?

0 投票する
1 に答える
2288 参照

cassandra - cassandra lastupdated(auto_now)、lastaccessed および created(auto_now_add)

列の作成と最終更新/アクセスのタイムスタンプを自動更新する方法はありますか?

関数を使用toTimestamp(now())して作成時間を保存できます。writetime(name)しかし、最終更新時刻を取得するために使用される のような関数はありますか? 作成時間とアクセス時間を読み取る同様の機能はありますか?

3 つのタイムスタンプをすべて取得する方法はありますかlastupdated/lastaccessedおよびcreatedタイムスタンプを自動生成して保存する方法はありますか?

0 投票する
1 に答える
225 参照

node.js - Cassandra node.js ドライバーで中サイズの fetchSize を使用するとフレーム ストリーム エラーが発生する

Cassandra node.js ドライバーで奇妙な問題が発生しています。特定のパーティションからデータを選択しようとすると、このエラーが発生します。

ここには、いくつかの非常に奇妙な動作があります。

  • fetchSize小さいsでは発生しません。たとえば、フェッチ サイズを 312 以上にすると一貫してエラーが発生しますが、フェッチ サイズを 311 にすると毎回うまくいきます。
  • 一部のパーティション キーでのみ発生します。これまでのところ、最近追加されたキーに影響しているようです。
  • 1 つのテーブル内で、のブレーク ポイントfetchSizeは一貫しています。SELECT * FROM TableX WHERE myKey = value1たとえば、 orを実行すると、両方とも240 でSELECT * FROM TableX WHERE myKey = value2エラーが発生し始めます。fetchSizeしかし のTableY場合、制限は 284 かもしれません。

私はここで本当に途方に暮れています。単一のパーティションから返される行が多すぎることに関係があるのではないかと思いますが、他のパーティションから大量のデータを取得できます (たとえば、fetchSizeほとんどのパーティションで 20000 で問題なく動作します)。

問題を再現するための簡単なコードは次のとおりです。

0 投票する
1 に答える
874 参照

cassandra - dse-driver 接続が拒否されました

サーバーにインストールされている Datastax エンタープライズ Cassandra に接続しようとしています。接続しようとすると、次のエラーが表示されます。

cassandra.yaml の何かが localhost への接続を制限していると思いますか?

どんな助けでも大歓迎です!私の cassandra.yaml は投稿するには長すぎます。必要に応じてリンクを公開できます

0 投票する
1 に答える
4881 参照

node.js - タイムスタンプを Cassandra に挿入する

次のように作成されたテーブルがあります。

次の Node コードを使用して、テーブルに新しい行を簡単に追加できます。

ただし、次のエラーが表示されます。

'エラー: 日付には 8 または 0 バイトが必要です (24)

タイムスタンプをエポック時間に変更すると:

私は得る:d

OverflowError: 正規化された日数が大きすぎて C の int に収まりません

cqlsh を介して新しい行を挿入できるので、おそらく node.js ドライバーで何か不足しています。

何か案が?

ありがとう