RegexStringComparator
を使用しますが、1|2|3
のような正規表現を使用してhbaseにバイトとして書き込まれた値をフィルタリングすることについては不明です。Hbase - RegexStringComparatorはバイナリ値で動作しますか?
これは誰でも確認できますか?ドキュメンテーションは何も言わない。
EDIT:私の質問は十分にはっきりしていないと思います。私はとのHBaseに書き込まれた値でHBaseのフィルターとしてRegexStringComparator
を使用することができることを承知していた文字列のような:
は、行キー:myrow123
列:c:name, timestamp=1234567891234, value=Irene
しかし、私もそれを使用することができます値はHbaseに次のようなバイトとして書き込まれます。
行キー:\x6d\x79\x72\x6f\x31\x32\x33
列:c:\x6e\x61\x6d\x65, timestamp=1234567891234, value=\x49\x72\x65\x6e\x65
こんにちは、あなたの返信ありがとうございました。私は元の投稿に自分の質問を指定しました。 – padmalcom
HBaseでサポートされている唯一のデータ型はbyte []なので、上記の両方の行は同等です(2番目の文字列は生の文字列をバイトに明示的に保存しない限り)。実際、クライアントAPIは、rowKey、columnFamily、columnQualifier、およびvalueのすべてについてbyte []を期待しています。シェルは、byte []との変換によってプリミティブを配置し表示する簡単な方法を提供します。 RegexStringComparatorを使用すると、指定されたエンコーディング(デフォルトはUTF8)を使用してbyte []データがStringに変換され、正規表現APIが適用されます。 – balaudt