LoginSignup
0
1

More than 5 years have passed since last update.

Hiveのexternal table + s3のちょっとした検証

Posted at

ちゃんと実装を知っている人には「何言ってんの当たり前やん馬鹿が死ねィッ」てなものでしょうけども、ほら、備忘にもなるし。

こんな感じでデータファイルを用意する。

・hoge.csv

1,"a"
2,"b"

・fuga.csv

3,"c"
4,"d"

・piyo.csv

5,"e"
6,"f"

create文はこんなので。
バケットとキーは適当に。

CREATE EXTERNAL TABLE s3verify (
  id int,
  name string
)
PARTITIONED BY (ts BIGINT)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
LOCATION 's3://tekitou/test';

まず、s3://tekitou/test
下に
ts=10000
キーを作成、その下にhoge.csvを設置。

s3://tekitou/test/ts=10000/hoge.csv

こんなんね。
で、select。
当然、

OK
Time taken: 0.306 seconds

empty。パーティション認識してないしね。

msck repair table s3verify;

をブン投げ、もう1度select。

OK
1       "a"     10000
2       "b"     10000

はい。ここまでは何度もやったからそらそうなるって感じはする。
で、この後。
ts=10000下に、fuga.csvをアップロード。すぐselectしてみる。

OK
1       "a"     10000
2       "b"     10000
3       "c"     10000
4       "d"     10000

認識している。これもまあ当然といえば当然感はある。
次。ts=10000下に add/ って階層を切り、その中にpiyo.csvを置いてみる。

s3://tekitou/test/ts=10000/add/piyo.csv

さてどうなるか。

OK
5       "e"     10000
6       "f"     10000
1       "a"     10000
2       "b"     10000
3       "c"     10000
4       "d"     10000

認識した。ちょっとびっくり。これってs3だからなのか、hdfsでも同じなのか。
気にはなったけどここまで。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1