Partitionがあるテーブルを想定しているので、PartitionのLocationも変更していますが、もちろんPartitionがないテーブルならPartitionのLocation変更は不要です。 Alter TableでPartitionを選択する時には”=”以外にも”>=”や”<>”なども使えるので、複数のPartitionが設定されている時にはそれらの記号が非常に便利です。ALTER TABLE old_dummy_table SET TBLPROPERTIES ( 'EXTERNAL'='FALSE'); ALTER TABLE old_dummy_table SET LOCATION "hdfs:///user/zuqqhi2/tmp/dummy"; ALTER TABLE old_dummy_table PARTITION (service_id = "1", dt >= "2019-01-01") SET LOCATION "hdfs:///user/zuqqhi2/tmp/dummy"; ALTER TABLE old_dummy_table DROP PARTITION (service_id = "1", dt >= "2019-01-01"); DROP TABLE old_dummy_table;
- プログラミング
- 2185 view
HiveでExternal Tableを削除する方法メモ
HiveのExternal TableはDrop Tableだと、オリジナルのテーブルに書き込み権限があればオリジナルのテーブルが消えてしまう恐れがあり、権限がなければDrop TableしてもExternal Tableが消えません。
いろいろなサイトを見ても今自分がやっている方法にダイレクトに辿りつかなかったので、忘れる前にメモを残しておきます。
この記事へのコメントはありません。