製品(時系列)の価格と在庫をデータベースに保存します。私の行キーは次の構造を持っています:
productid-タイムスタンプ
家族の在庫、価格などで。
スキャンで複数の製品 ID を取得することは可能ですか?
例: product-id 4711、4744、8485、8585 からのすべてのデータを提供してください。
よろしくケビン
製品(時系列)の価格と在庫をデータベースに保存します。私の行キーは次の構造を持っています:
productid-タイムスタンプ
家族の在庫、価格などで。
スキャンで複数の製品 ID を取得することは可能ですか?
例: product-id 4711、4744、8485、8585 からのすべてのデータを提供してください。
よろしくケビン
HBase には、GET と SCAN という 2 つの基本的な取得オプションがあります。SCAN とは、行 N から開始し、行 M (M >= N) に到達するまですべてのレコードを順番に返すことを意味します。GET は単なる単一行スキャン (M==N) です。実際、それは実際にはそのように実装されており、行がソートされているため理にかなっています。そのため、それらの 1 つに到達するための根本的に効率的な方法はありません。
したがって、あなたの場合、いくつかのオプションがあります。
もう 1 つの優れたオプションもあります。HBase 上の SQL スキンであるPhoenixを使用することもできます。まさにこの場合のためにスキップ スキャンが既に組み込まれており、JDBC ドライバーとして公開されています。また、ゼロから作成するのは骨の折れるパフォーマンスの最適化が他にもたくさんあります (集計コプロセッサなど)。
(完全な開示、私はフェニックスを作成した会社で働いていますが、それは完全にオープンソースであるため、それがクールだと思うことを除いて、それを提案することに特別な既得権はありません. :)