PHP から Hbase にアクセスするために Thrift クライアントを使用しています。Hbase のバージョンは hbase-0.90.4-cdh3u3 です。
私の問題 (まあ、それは疑いのようなものです) は、Thrift API がTRowResult
いくつかのメソッドを返すことになっていることです。たとえば: scannerGet
、 ... 代わりに、単一のインスタンスgetRowWithColumns
を持つ配列を返します。TRowResult
それがなぜなのか誰か知っていますか?これらのメソッド (通常は単一の行を返すか、何も返さないはずです) が複数のTRowResult
インスタンスを返す場合はありますか? ラッパー クラスでこの 1 行を単純にポップして、配列 (または空の配列がある場合は null) を返す代わりにそれを返すことはできますか?
.thrift のドキュメントは、返されるはずのものについて非常に明確です。
/**
* Get the specified columns for the specified table and row at the latest
* timestamp. Returns an empty list if the row does not exist.
*
* @return TRowResult containing the row and map of columns to TCells
*/
list<TRowResult> getRowWithColumns(
[...]
/**
* Returns the scanner's current row value and advances to the next
* row in the table. When there are no more rows in the table, or a key
* greater-than-or-equal-to the scanner's specified stopRow is reached,
* an empty list is returned.
*
* @return a TRowResult containing the current row and a map of the columns to TCells.
*
* @throws IllegalArgument if ScannerID is invalid
*
* @throws NotFound when the scanner reaches the end
*/
list<TRowResult> scannerGet(
(廃盤@throws NotFound
ですが)
ありがとう!