- 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. hdfsでのHBaseの更新操作
- 2. HBaseでの操作による操作
- 3. HBaseバッチ投入操作
- 4. ADOエンティティフレームワークの更新操作
- 5. JavaScriptでの更新操作
- 6. DynamoDBでの更新操作
- 7. hbaseレンジスキャンの操作方法は?
- 8. ASP.NET DevExpressグリッドビュー更新操作
- 9. リストビューを更新するSQLiteの更新操作の後
- 10. コンソール出力のSVN更新操作列
- 11. mongoDbとasp.netコアの更新操作
- 12. KendoUI MVCグリッドの更新操作
- 13. 更新操作の戻り値
- 14. JPA 1対1の更新操作
- 15. 更新操作で前のエンティティにアクセス
- 16. HBaseコプロセッサの行更新検出
- 17. Dynamics CRMプラグイン - 事前操作更新
- 18. 挿入操作/更新操作は、arangodbでの読み取り操作をロックします
- 19. 新しいコードでPHPファイルを更新/操作する
- 20. Apache MetaModelを使ってHbaseでcurd操作を行うには?
- 21. React 16フォームの更新操作でレコードを更新する代わりに新しいレコードを作成
- 22. AndEngineの複数のシーンのタッチリスナーと更新メソッドの操作
- 23. テキストは更新されますがスタイル操作は更新されません
- 24. CRM 2011操作前の更新関連のエンティティの参照フィールド
- 25. テーブルの選択/更新操作でのSQLデッドロック
- 26. F()での更新操作の反転論理フィールド
- 27. mvc5のTextboxをカスケードするための更新操作は?
- 28. IN MySQLでの更新操作の基準パフォーマンス
- 29. Python 3.2へのquickhull実装の更新リスト操作
- 30. mmdbファイル操作間のMaxmind DatabaseReaderの更新
お返事ありがとうございます。あなたの答えははっきりしており、私は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) –