- HBaseクライアントAPIでは、HBaseが新しく、更新操作はサポートされていません。あれは正しいですか?
- ある場合は、特定の行キーの値を更新するための推奨されるベストプラクティスは何ですか?
答えて
任意のセルの値を作成または更新するPUTを使用できます。 あなたはではありませんは新しいバージョンに古いセルを持たせたくない場合を除いて削除を使用する必要があります。 F1:C1新しい価値とあなたが取得したい:
は、我々はあなたがR1を置くことができる
r1:f1:c1:value1
r1:f1:c2:value2
を持っていると言う、実際に各セルはのrowKeyとして保存されている
r1:f1:c1:new value
r1:f1:c2:value2
注意、列の家族、セル、タイムスタンプ、バージョン、および値。したがって、バージョン管理の設定(列ファミリごと)に応じて、ポイント・イン・タイム問合せを実行するなど、古い値にアクセスして、削除された値を表示することもできます。
プット操作を実行すると思います。 HBaseのPut API client docsと、このブログの投稿Java Example Code using HBase Data Model Operationsとその操作の説明を参照できます。
行を更新するには、「Delete」と「Put」のシーケンスを1つの突然変異体に発行する必要があります。そのため、外部からの更新とみなされます。
このような呼び出しの構築方法については、Class RowMutations documentationを参照してください。
こんにちは、私が間違っている場合は私を修正してください。 Put APIサポートの更新操作やサンプルコードが表示されません。更新のためには、すでにHBaseテーブルに行があります。たとえば、行キーはr1で、c1という1つの列があり、セルr1/c1に値があります。更新のために、セルr1/c1の値を他の値に変更したいとします。私が間違っていれば私を修正してください。 –
右の値を変更する場合は、アトミックコールでdeleteとputを組み合わせる必要があります。更新された回答をご覧ください。 – tonio
ありがとう、私の質問に答えています。 –
- 1. HBaseでの操作による操作
- 2. HBaseバッチ投入操作
- 3. ADOエンティティフレームワークの更新操作
- 4. JavaScriptでの更新操作
- 5. KendoUI MVCグリッドの更新操作
- 6. AndEngineの複数のシーンのタッチリスナーと更新メソッドの操作
- 7. CRM 2011操作前の更新関連のエンティティの参照フィールド
- 8. Python 3.2へのquickhull実装の更新リスト操作
- 9. IN MySQLでの更新操作の基準パフォーマンス
- 10. 同じWebサービス操作のフェッチと更新がsymantically correct
- 11. 次の操作でWebページを更新する
- 12. appwidgetを更新するアンドロイドの長時間操作
- 13. NSTextField新しい行操作
- 14. jQuery Mobile:動的DOM操作でページを更新するには?
- 15. サーバーイベントでリストビューを操作して更新する
- 16. 保存/更新操作に関連するステータスメッセージ
- 17. WCFサービス操作が更新されない
- 18. MongoDbでは、アトミック操作の挿入/更新中のコレクション作成ですか?
- 19. Ctrl-Cなしでhbaseシェルでスキャン操作を終了させる方法
- 20. QTableView(PyQt4)でのキー操作の変更
- 21. 何の操作アトミック操作
- 22. クリック操作がGEBに新しい
- 23. Hbaseを新しいバージョンにアップグレード
- 24. 作曲更新
- 25. Spring Roo&JSON:削除、更新、配列ベースの操作を定義する
- 26. EF7ネストされたエンティティの更新操作を処理する方法
- 27. HUBでのHBASE変換の作成
- 28. hbaseの外部テーブルの作成方法
- 29. Railsのリスト、表示、新規作成、編集操作のマージ
- 30. 適切なhbase-site.xmlを探すHBaseクライアントのhbase-default.xml設定例
お返事ありがとうございます。あなたの答えははっきりしており、私はHBaseについて理解しやすくなりました(私はほとんど調査し始めていません)。 – tonio
こんにちは@Arnon、私の質問は原子的な方法で更新する方法の詳細です。私は原子操作シーケンスで読み取り(GET)と更新を行いたいです。更新方法は、読み込んだ値に依存するので、読み込みと更新の間の更新は避けたいと考えています。あなたのサンプルでは、どのように目標を達成するのですか? –
HTable APIでcheckAndPutまたはcheckAndDeleteを使用できます。http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/HTable.html#checkAndPut(byte []、byte []、byte []) 、byte []、org.apache.hadoop.hbase.client.Put) –