2017-08-10 14 views
0

Avroファイルを使用してHDFSにデータを格納しています。私は選択された列データを1つのavroファイルからコピーし、それを(選択された列情報を持つ)独自のスキーマファイルを持つ同じクラスタ内の別の場所に送信する必要があります。どうやってやるの? Hiveを使用して実装することは可能ですか?それを手助けできるHDFSのユーティリティがありますか?選択した列のHDFSクラスタ内コピー

これは、グループがテーブル全体にアクセスできる必要があり、別のグループがほんのわずかのカラムにアクセスできる必要があるためです。だから、必要なスキーマとavroファイルだけでHDFSの別の場所にいることが必要です。

+0

単語の詳細を共有してください – Raghavendra

+0

_ "intercluster" _は、2つの異なるクラスター間でデータを移動することを意味します。ここではそうではありません。その単語を削除するか、 "intracluster"で置き換えてください(しかし、それは役に立ちません)。 –

答えて

0

ここでは複数を作成していましたが、最も簡単なのはHiveまたはSparkを使用していると言います。ハイブでは、リーダースキーマ(必要なフィールドのみ)を使用してテーブルを作成し、テーブルの場所をターゲットディレクトリに指定することができます。その後、必要なのは、ソーステーブルから、自分のリーダーテーブルに必要なフィールドだけを挿入することだけです。

読者のスキーマを作成することは、このような場合にデータの重複を避けるための非常に良い解決策です。データのサブセットを作成する厳密な要件がない場合は、リーダースキーマを使用することをお勧めします

関連する問題