2

oracle/mysql では通常、レコードの使用を照会します

select * from test t where t.id in(1001,1002,1003);

しかし、hbase にはデータを選択するための API がなく、scan(startRow) と endRow しか使用できません。

この問題を解決した人、またはこれを行う方法を持っている人。ありがとう。

4

2 に答える 2

1

RDBMS の代替として HBase を探している場合は、そうしないでください。HBase では、データをクエリする方法がはるかに制限されています。

いずれにせよ、HBase の行キーが id の場合、キーによる 3 つの GET として言及したクエリを実行できます

于 2012-08-11T19:32:37.650 に答える
0

私は Arnon に完全に同意します... HBase は実際には RDBMS の代替品ではありません。

探しているクエリ機能の一部を取得するには、Hiveの使用を検討する必要があります。これは、Hadoop または HBase のデータに対して実行されるほぼ SQL の実装です。

質問で言及したように HBase with Java を操作する場合、filter、特にを使用ValueFilterして値を除外できます。これにより、基準に一致する行のみが返されるようになります。これを実装する方法の詳細については、フィルターに関する hbase リファレンス ガイドを参照してください。

于 2012-08-13T01:41:47.710 に答える