2016-04-12 10 views
0

10ノードを持ち、巨大なtsv [tab separated value]ファイルを毎日アップロードしているcassandraクラスタを実行していますが、パフォーマンスを向上させ、待ち時間を短縮するためにプロジェクトをgoogle bigtableに移動します。
私はクラウドコンピューティングサーバー[1ノード]にhbaseプラグインをインストールし、bigtableにこれらのtsvファイルをアップロードする方法を知りませんでした。ファイルをbigtableにアップロードする

は、私のtsv形式です。
col1 col2 col3 col4 col5 col6です。 。
ここで、col1はプライマリキーで、col2とcol3はcassandraテーブルのクラスタキーです。
今、私はbigtableに似たようなテーブルを作成することができ、bigtableにtsvファイルをアップロードするために利用できるメソッドは何ですか?

答えて

2

Bigtableには、1つの行キーがあります。そのキーは、高速検索キーとして使用されます。 Bigtableはすべてのデータを行キーに基づいてソート順に格納します。 Bigtableの「列」を列ファミリに追加する必要があります。列ファミリを前面に設定し、突然変異を送信するときにランダムな列/修飾子を追加することができます。詳細はこちらhttps://cloud.google.com/bigtable/docs/schema-designです。

Googleデータフローを使用して任意のタイプのデータをインポートすることもできます:https://cloud.google.com/bigtable/docs/dataflow-hbase。少量のJavaコードを書く必要があり、Googleはマシンのクラスタを作成し、コードを実行します。進行状況とログを表示するUIがあります。

Bigtableには、hbase互換のAPIを介してアクセスすることもできます。これは、hbaseのインポートのようなツールが箱から出てくることを可能にします:https://cloud.google.com/bigtable/docs/exporting-importing

私の好みはデータフローです。

+0

返信いただきありがとうソロモン、私はここで少し混乱しています。私がhbaseで2番目の方法bigtableを選択した場合、なぜhadoopクラスタが必要ですか? hbaseクライアントを使用してデータをロードするにはhadoopクラスタが必要です。または、hbaseクライアントのみを使用してデータを単純にロードします。 – Rajnish

+0

私はあなたがたくさんのデータを持っていて、それを高速に読み込みたいと思っています。 hbaseクライアントを使用してデータをロードするには、mainメソッドまたはtsv load関数を持つコマンドラインシェルを含むhbaseのローカルインストールを使用する必要があります。 –

関連する問題