私はrowkey
が実行するクエリに駆動されるHBaseテーブルを設計しました。ベストプラクティスに続いて、私の行キーのプレフィックスとしてハッシュされた部分が含まれていて、テーブル領域全体に可能な限り均等に行を広げようとしました。HBaseで効率的にクエリを実行するための戦略
私は、次のシナリオが心配です:
私は3つの領域の間に私のHBaseのテーブル分割に数十億行を得ました。この表を使用してREST APIのデータを提供しています。そのため、できるだけ早く行を提供する必要があります。
残念ながら、私はcount "table_name"
HBaseのシェルまたはparameters.Itがrowkey
を使用して範囲の走査が全体HBaseのテーブルを襲っているようだstartrow
とstoprow
を含む任意の他のスキャンのためのいずれかを呼び出す場合でも有名なタイムアウトエラーFailed to get result within timeout, timeout=60000ms
を打っています。
私が好きなこのシナリオでは、2つの質問をすることを考慮すると:
1)実際にタイムアウトエラーを押すことなく可能な限り高速に行の範囲を取得するためのいずれかの戦略がありますか?私は本当にここにポインタをありがとう。
2)私はHBaseが新しいので、HBaseはREST APIに高速検索データを提供するのに最適か、少なくとも適切な解決策であると考えていますか?