2

HBaseシステムからデータを読み取りたいプロジェクトに取り組んでいます。利用可能なさまざまなHBaseクライアント、デフォルトのJavaクライアント、Thrift、Avroなどがあることを読みました。

デフォルトのJavaクライアントを選択した場合、thriftクライアントを使用してHBaseに格納されているデータを読み取ることができますか?

Thriftクライアントを使用してHBaseからデータを読み取ると、Thriftデシリアライザーを使用してデータをバイナリ型から適切な型に変換することを理解したかったのですが。それが当てはまる場合、HBaseデフォルトクライアントを使用して読み取ると、thriftクライアントを使用してロードされたデータが破損しますか?

ご協力いただきありがとうございます!!〜Rohit

4

1 に答える 1

4

JavaでHBaseアプリケーションを開発している場合は、生のHBase APIを使用することをお勧めします。これは、Thrift、REST、Avroなどよりも強力です。

Java HBase APIは、Zookeepersを介してHBaseデータベースと直接通信します。

Javaを使用していない場合は、他のプロトコルの1つ(Thrift、REST、Avroなど)を使用する必要があります。たとえば、Pythonには、RESTだけでなくThrift(HappyBaseをお勧めします)用のライブラリがいくつかあります。Rubyや他の言語もそうです。

Java APIを使用して(直接)データを挿入すると、PythonまたはRubyでThriftを使用してまったく同じデータを取得できます。データ構造/フォーマット(HBaseはすべてをバイトとして格納する)に注意する必要がある場合があるため、文字列、int、Unicode文字列などの格納には注意してください。

于 2013-02-14T21:30:00.293 に答える