2016-08-18 9 views
1

新しいテーブルにHDFSにクエリ結果を保存してロードしますこの元のテーブルからフィルタリングされたデータを持つデータベース。 (パーティションのために使用される列によってフィルタ)ハイブ:私は3つのパートパーティション私は別の新しいテーブルを作成したい <strong>(DT、SERVICE_TYPE、PV)</strong></p> <p>を持つハイブのテーブルを持っている

だから私は、次のようにSELECTを使用してデータを照会し、HFDS

INSERT OVERWRITE DIRECTORY '/user/atscale/filterd-ratlog' SELECT * FROM rat_log_normalized WHERE dt >= '2016-05-01' AND dt <='2016-05-31' AND service_type='xxxxx_jp' AND event_type='yy'; 

に結果を保存し、このHDFS.Itで結果フォルダ構造がファイルの531sに分割されています:

HDFS DFS -ls /ユーザ/ atscale/filterd-ratlog

実測値531件の商品 -rwxr-XR-X 3 atscale atscale 8838075079 2016年8月18日6時20分/ユーザ/ atscale /フィルタードラットog/000000_0 -rwxr-xr-x 3 atscale atscale 8879084968 2016-08-18 06:15/user/atscale/filterd-ratlog/000001_0 -rwxr-xr-x 3 atscale atscale 8821619748 2016-08-18 06: 20/user/atscale/filterd-ratlog/000002_0 -rwxr-xr-x 3 atscale atscale 8724063719 2016-08-18 06:20/user/atscale/filterd-ratlog/000003_0。 。 。 -rwxr-xr-x 3 atscale atscale 6878819716 2016-08-18 06:42/user/atscale/filterd-ratlog/000527_0 -rwxr-xr-x 3 atscale atscale 5461395906 2016-08-18 06:27/user/atscale/filterd-ratlog/000528_0 -rwxr-xr-x 3 atscale atscale 6222887747 2016-08-18 06:26/user/atscale/filterd-ratlog/000529_0 -rwxr-xr-x 3 atscale atscale 692289350 2016- 8月18日午前6時37分/ユーザー/ atscale/filterd-ratlog/000530_0今

、すごい私は私の新しいテーブルにHDFSファイルにこのデータをロードすることができますか?私は、同様のパーティションを維持したい。..

答えて

2

私はあなたが外部テーブルを探していると思います:

DROP TABLE IF EXISTS filterd-ratlog; 
create external table filterd-ratlog(
col1 int, 
col2 int, 
col3 int, 
dt string, 
service_type string, 
event_type string) 
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' 
location '/user/atscale/filterd-ratlog'; 
+0

ありがとうございますが、これはパーティションを保持しますか? –

+0

ここに説明したようなパーティションを追加する必要がありますhttp://blog.zhengdong.me/2012/02/22/hive-external-table-with-partitions/ – abhiieor

関連する問題