2011-01-22 4 views
0

私のクラスタ上のHBaseにアクセスするためのスリフトインタフェース(http://apache.mesi.com.ar//incubator/thrift/0.5.0-incubating/)を使用しています。私は、レコードを取得して表示することができます。開始日と終了日を使用します。HBase Column RegExからCのスリフトまで#

ドキュメント(http://hbase.apache.org/docs/r0.89.20100924/apidocs/org/apache/hadoop/hbase/thrift/doc-files/Hbase.html#Fn_Hbase_scannerOpenWithStop)は言う、それは列修飾子で正規表現を渡すことも可能です

私の質問は簡単です - どのようにですか?

私の作業コード:

ToByteArray()ToByteArrayList()
int scannerId = client.scannerOpenWithStop("TABLE_NAME".ToByteArray(), 
    "START_ROW".ToByteArray(), "STOP_ROW".ToByteArray(), 
    new List<string>(){"COLUMN_FAMILY" }.ToByteArrayList()); 

は、と...各文字列のToByteArrayを呼び出しリストの拡張機能では、リスト内の電気ショック療法を詰め込みます。 string-> byte []変換の私のメソッドが問題を引き起こす可能性があるので、私はそれを下に置いています。

public static byte[] ToByteArray(this string s) 
{ 
    System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding(); 
    return encoding.GetBytes(s); 
} 

私は上記のコードを実行すると、それはSTART_ROWSTOP_ROWの変化によって変化し、データを返します。リストのエントリにコロン(:)を追加すると、COLUMN_FAMILY:になりますが、それでもデータが返されます。 COLUMN_FAMILY:http://www.myurl.com/more/goes/hereに完全な列名を付けると、そのURLのすべての値が取得されます。

私がしたいことはCOLUMN_FAMILY:http://www.myurl.com/.*(または他の正規表現)を持っていて、関連するデータを返すようにしています。

例は2つ必要です。私はいくつかのフォーマットやトリック私は正規表現を働かせるために欠けていると思う。

答えて

0

COLUMN_FAMILY:/(I:?^のhttp://www.myurl.com)/

先頭と末尾/内容は

http://blog.hypertable.com/?cat=1

として解析する必要があることを知らせるように見えます
+0

その記事は別のデータベース用ですが、試しました。動作しません。 – Nija

関連する問題