ハイブ操作 - テーブルを削除(ドロップ、TRUNCATE)

免責事項:この記事は従って、ブロガーオリジナル記事です。CC 4.0 BY-SAの著作権契約を、再現し、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/a_drjiaoda/article/details/94433005

データ削除(予約テーブル)、削除データベーステーブル、削除パーティション:ハイブ削除操作は、いくつかのカテゴリに分けられます。私は、データiot_devicelocationの一例として、以下の図を空に、あなたは上の表、ライブラリなどを削除します。

iot_deivcelocation内のデータを初めて目。iot_deivcelocationから*を選択します。

まず、唯一のテーブル構造を保持するために、テーブル内のデータを削除

hive> truncate table iot_devicelocation;

切り捨て操作は、発現が意味である1 = 1のテーブルから削除するテーブルの対応のすべての行を削除するのに使用されます。

注: TRUNCATEは、外部表を削除することはできません!データの外部表は、ハイブメタストアに格納されていないため。パーティションテーブルを削除した後EXTERNAL、外部を指定したときにテーブルを作成し、データがそこには削除されませんHDFS。そのため、外部のテーブルデータを削除するために、あなたは内部テーブルまたは削除HDFSファイルに外部表を置くことができます。

第二には、テーブルを削除します

hive> drop table if exists iot_devicelocation;

TABLE_NAMEが存在する場合は、テーブルをドロップします。

第三には、ライブラリを削除します

hive> drop database if exists xpu123;

 database_nameに存在する場合は、データベースをドロップする。しかし、第二段階、当社のデータベースxpu123の終了に応じて、あなたが削除した場合ので、次のエラーが報告されます、またiot_deviceenergytypeテーブルがあります。ハイブは、あなたを思い出させますテーブルがあるうちxpu123ライブラリの削除を行います。

このエラーを解決するには2つの方法があります、すべての完成を削除し、ライブラリを削除するには、非常に単純なテーブルです。

另外一种就是使用下述的方法:使用cascade关键字执行强制删库。drop database if exists xpu123 cascade; 如下所示

四、删除hive分区

alter table table_name drop partition (partition_name='分区名')

hive> alter table tablename drop partition(load_date='2019-01-01');

 

おすすめ

転載: blog.csdn.net/a_drjiaoda/article/details/94433005