問題タブ [datastax-java-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 に答える
5488 参照

java - ローカル データ センターのみに書き込む Cassandra Java ドライバーの最適な設定

私は最近、Cassandra のユースケースに Datastax Java ドライバーを使い始めました... Cassandra への読み取り/書き込みに Datastax Java ドライバーを使用します...

Datastax Javaドライバーを使用してCassandra接続を正常に作成できました...しかし、Cassandraへの接続中にDatastax Javaドライバーを使用してパフォーマンスを向上させるために、本番環境で使用する必要がある他の設定はありますか?

私の最優先事項は次のとおりです:-

  • ローカル データセンターに基づいて Cassandra ノードを除外します。したがって、接続プールには、ローカル データセンターの Cassandra ノードのみが含まれます。
  • また、Datastax Java ドライバーを特定の設定で使用すると、最高のパフォーマンスが得られます。

環境によって特定の設定が異なる可能性があることは承知していますが、Datastax Java ドライバーを使用して Cassandra 接続を行う際に最適なパフォーマンスを得るためには、誰もが従わなければならない設定があるかもしれません。

以前使っていたアステュアナクスの例のように、TOKEN_AWAREを使う必要があるということでした...

では、Datastax Java ドライバーを使用しているときに、いくつかの最適な設定や推奨される設定があるはずですか?

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

hadoop - Hadoop MapReduce タスク内での Cassandra 接続の作成

MapReduce ジョブを開始する直前に、 DataStax Java ドライバーを使用して Java コード内の Cassandra にアクセスしています。

ただし、レコードを削減する方法をレコードごとに決定するために、追加情報を確認する必要があります。Hadoop Reducer クラス内で同じコードを使用しようとすると、次のエラーで接続できません。

MapReduce の入力と出力は、Cassandra に対して正常に読み書きされます。前述したように、ジョブを実行する前に接続できるので、Cassandra サーバーの問題ではないと思います。

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

java - Datastax CQL ドライバーを使用して Cassandra に挿入する際の TTL の設定

なぜこれがうまくいかないのか、誰かが私にヒントを与えることができますか? TTL を設定していないようです。列が削除されることはありません。ただし、cqlsh で INSERT INTO をいじることはできるので、Cassandra 自体には何の問題もありません。

(Cassandra v2.0.0、ドライバー v1.0)

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

java - Cassandra CQL テーブルの INSERT と INDEX の問題

私たちのユースケースでは以下の表を使用しています -

上記のテーブルでは、employee_id は常に 1 から 32767 まで一意になります。したがって、クエリ パターンは次のようになります。

  1. employee_id のすべてを教えてください。
  2. 過去 5 分間の変更点をすべて教えてください。
  3. employee_name のすべてを教えてください。

上記のテーブルに以下のデータを挿入します-

上記のクエリ パターンはすべて実行できますが、まだ 1 つの問題があります。


私の質問は、以下のクエリでこの特定のシナリオを回避することです。どういうわけか誤って以下のクエリを実行しようとした場合はどうなるでしょうか。その場合、employee_id が 1 で他のフィールドを持つ別の行が作成されますか? Cassandraデータベースにすでにある場合、同じemployee_idを再度挿入したくありません..

何かご意見は?RDBMSとCassandraの使用に関する議論のため、これは議論の余地がある状況であることを私は知っています

また、employee_name にインデックスを作成すると問題が発生しますか? 私の例では、同じ employee_name に複数の employee_id を指定できますが、値は異なります。employee_idそれよりも大きくならないことに注意してください。32767つまり、最大行数は32767上の表になります..

Cassandra 1.2.9 を実行しています

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

java - DataStax Java Driver は EE コンテナーで安全に使用できますか?

com.datastax.driver.core.Sessionクラスのドキュメントには、

(...) 各セッションは、クラスタ ノードへの複数の接続を維持します (...)

ただし、EE 環境に対する一般的なアドバイスは、プーリングとスレッド管理をコンテナーに任せることです。

主に EE 環境を対象としていない DataStax ドライバーは、このルールに違反しているように思えます。これにより、EE アプリケーションでドライバーを安全に使用できるかどうか心配になります。

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

cassandra - ハイブを使用して列ファミリーに ttl を設定する方法

私は Cassandra に Datastax を使用しており、CFS の上に、Hive.Cassandra を使用してデータをロードしようとしています。挿入および更新中に列レベルで TTL(time to live) を使用しています。私の質問は、ロード時に同じ TTL を達成するにはどうすればよいかですハイブを使用してデータを列ファミリーに追加します。列ファミリーまたはハイブからのロード中に TTL を指定する方法はありますか??

例 (datastax Web サイトからの参照) : cqlsh:demodb> INSERT INTO users (user_name, password) VALUES ('cbrown', 'ch@ngem4a') USING TTL 86400;

cqlsh:demodb> UPDATE users USING TTL 432000 SET 'password' = 'ch@ngem4a' WHERE user_name = 'cbrown';

注: 要件は、一定期間後にデータをパージすることです。Cassandra には TTL を使用してそれを行うオプションがありますが、私は Hive を使用してデータをロードしようとしています。ハイブ