0

クラスタ X にテーブル A があります

いくつかの HQL (たとえば select * from A where A.country = 'INDIA') を実行し、出力をクラスター Y のテーブル B に保存したいと考えています。

テーブル Aで HQL を実行し、テーブル tempにデータを保存できます。次に、次のコマンドを使用して、このハイブ テーブルを クラスター Y のテーブル Bにエクスポートします。

EXPORT TABLE temp TO 'path/to/hdfs_clusterX';

hadoop distcp hdfs:///path/to/hdfs_clusterX hdfs:///path/to/hdfs_clusterY

IMPORT TABLE Y FROM 'path/to/another/hdfs

このテーブル tempを作成するよりも良い方法はありますか?

4

1 に答える 1

0

select * from A where A.country = 'INDIA';

上記の選択結果を他のテーブルに挿入し、以下のコマンドを使用してクラスター上の任意の場所にエクスポートします。テーブル名が test であるとします。

テーブル テストを '/path' にエクスポートします。

その後、 distcp コマンドを使用して別のクラスターに移動します

hadoop distcp ソース パス 宛先パス ;

于 2016-01-18T20:06:11.440 に答える