問題タブ [hector]
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.
cassandra - Hector を使用して cassandra のキーで行を取得する
私は CF に挿入していますが、問題はありません。単純なコマンドで cassandra-cli から行全体を読み取ることもできます。
各列のキーは timeUUID です。
CF の説明の一部:
また、BytesType UTF8Type および TimeUUIDType でテストするようにキー検証クラスを変更しました。
Java の cassandra クライアントとして、私は Hector を使用しています。
ID を知っている行を取得しようとすると、何も取得できません。
例:
そして、結果は次の例外です。
また、sliceQuery 定義の keySerializer として StringSerializer を使用してみましたが、例外は発生しませんが、結果は得られません。
私の質問は基本的に「キーでクエリを実行して行を取得するにはどうすればよいですか?」ということだと思います。:)
ばかげた質問かもしれませんが、数日間私を夢中にさせています.
cassandra - 列のカウント、非常に遅い CountQuery と SliceQuery の操作
列ファミリーのすべての行を反復処理し、各行内で列を数え、最大値と行キーを記録する「国勢調査」プログラムを作成しました。私は Hector クライアントでより多くの時間を費やしてきましたが、テストのために Pelops クライアントも作成しました。
基本的なフローは、RangeSlicesQuery を使用して行を反復し、次に各行で SliceQuery を使用して反復し、統計を収集することです。API が異なるだけで、Pelops でも同様に機能します。欠点は、バッファリングを手動で行う必要があり、行と列の両方のバッファ サイズを選択することです...私の現在のデータは 1,200 万行で、最大の列数は ~25K なので、しばらく時間がかかります...私の現在の構成では、取得しています1 秒あたり 25,000 行以上。
Hector の CountQuery を改善して発見する方法を探しています (Thrift クライアント get_count() を使用していると思います)。キーを繰り返し処理し (RangeSlicesQuery.setReturnKeysOnly() を使用)、各行キーで CountQuery を再利用する方が高速であると考えて、コードを修正しました。
遅くなっただけでなく、30 倍も遅くなりました。(1 秒あたり 900 行しか処理されませんでした)...
列を数えるより良い方法はありますか?
cassandra - Hector は複合キーをサポートする API を提供していますか?
現時点では、サブキーを一緒にフォーマットして複合キーを手動で生成する必要があります。それは醜く、効率的ではありません。複合キーをより適切な方法で処理するために、Hector がそのような API のセットを提供しているのではないかと思います。
cassandra - Cassandraにデータを追加する方法は?
Cassandraにデータを挿入するための簡単なJavaプログラムを書いています。hector APIのみを使用してJavaコードを介して実行できますか?または、yamlファイルをjconsoleからロードする必要がありますか?
私はcassandra0.8.5を使用していますが、jsoncoleを実行すると、yaml操作からの負荷が表示されません。
したがって、Javaプログラムからcassandraにスキーマとデータをロードする方法を探しています。
ありがとう、Gaurav
cassandra - Cassandra Client - 列を文字列として調べる
Cassandra は初めてで、Hector Java Client を使用して書き込み/読み取りを行っています。
値を挿入する次のコードがあります-
ここで、Hector クライアントを介して値を取得すると、問題なく動作します。
ただし、コマンド ライン cassandra クライアントから値を取得しようとすると、人間が読める文字列形式ではなく、バイト単位でデータが取得されます。カサンドラクライアントを使用して文字列を吐き出すことができるように、これを修正する方法はありますか -
これが出力例です [default@keyspaceUno] list StandardUno ;
デフォルトの制限 100 を使用
行キー: 6a736d697468 => (列 = 6669727374、値 = 4a6f686e、タイムスタンプ = 1317183324576000) => (列 = 6c617374、値 = 536d697468、タイムスタンプ = 1317183324606000)
1 行返されました。
ありがとう。
cassandra - スーパー列ファミリーとその列を照会するための ThriftColumnFamilyTemplate
スーパーカラムファミリーであるcassandraデータモデルがあります。複数のスーパー カラムがあり、各スーパー カラムには異なるタイプのカラムが複数あります (たとえば、数量は整数、ID は long、名前は文字列)。ThriftSuperCfTemplate を使用して、行のすべてのスーパー カラムの名前をクエリできます。ただし、スーパー列の列の名前/値を取得できません。利用可能なサンプルがあるかどうか疑問に思っていますか?
cassandra - Hector API for cassandra DBのSliceQueryはHInvalidRequestExceptionをスローします:InvalidRequestException(why:Key may not empty)
userNameでキー設定されたColumnFamilyの列としてユーザー名とパスワードがあります。
コンパレーター=UTF8Typewith column_metadata = [{column_name:username、validation_class:UTF8Type}、{column_name:password、validation_class:UTF8Type}];で列ファミリーTestUserInfoを作成します。
次のコードは、キーがデータベースに存在する場合に正常に機能します。キーが存在しない場合、 me.prettyprint.hector.api.exceptions.HInvalidRequestException:InvalidRequestException(why:Keyが空でない可能性があります)をスローします。
私がどこで間違っているのか教えてもらえますか?それとも、これは予想される動作ですか?もしそうなら、どうすれば空の結果をチェックできますか?dbからのログイン情報をチェックしているとしましょう。次に、userName(Key)がdbにない場合は、空の結果を正しく取得する必要がありますか?
ありがとう!
cassandra - cqlクエリを使用して、Javaクライアントhectorでcassandraからさまざまなデータ型を取得する方法
私はcassandraとhectorを初めて使用するので、cqlクエリを実行しようとしていますが、問題は、すべての列が文字列型ではないということです。そのため、クエリ「select * from users」をどのように実行しますか?
私の列ファミリーは次のようになります。
次のコードを使用してクエリを実行します。
しかし、検証クラスが長い「birth_year」列のため、値を取得できません。レコードが 1 つしかないと仮定すると、次の結果が得られます。
クエリを次のように変更すると:
それが機能するより。
では、1 つのクエリだけでこれを行うにはどうすればよいでしょうか。また、列ファミリーの行にブール値や浮動小数点数などのデータ型がさらにある場合はどうすればよいでしょうか。
cassandra - スーパーcfのサブカラムに対してincrementCounterを行うヘクター
現在、mutator は標準の cf に対してのみ機能するようです。スーパーcfのサブカラムでincrementCounterを実行する他の方法はありますか?
unit-testing - 単体テスト後に埋め込まれたcassandraをクリーンアップするには?
私は HectorsEmbeddedServerHelper
を使用して組み込みの Cassandra をセットアップしています。teardown()
およびメソッドがありcleanup()
ます。
問題は、クリーンアップ メソッドでは、cassandra によって作成された一部のコミット ログ ファイルを削除できないことです。おそらく、teardown() メソッドによって適切にシャットダウンされなかった cassandra デーモンがまだいくつかあるためです。セットアップとティアダウンのコードは次のとおりです。
これらのファイルを削除するにはどうすればよいですか?