2016-05-31 8 views
4

ハイブでは、管理対象と外部の2種類のテーブルを作成できます。外部ハイブテーブルの場所に対する書き込み権限が必要なのはなぜですか?

管理対象テーブルの場合、データを所有しているため、テーブルを削除するとデータが削除されます。

外部テーブルの場合、データの所有権がないため、このようなテーブルを削除すると、その下位のデータは削除されません。メタデータのみが削除されます。

最近、HDFSで書き込み(変更)権限を持たない場所に外部テーブルを作成できないことが最近わかりました。私はこれを完全に理解していない。

ユースケース:大量のデータを読み込み専用にすることは非常に一般的です。だから、Hive経由でそのようなデータを解読するには、この巨大なデータを書き込み権限のある場所にコピーする必要がありますか?

助けてください。

答えて

0

外部データを削除してもデータが削除されるわけではありませんが、これは外部表が読み取り専用であるという意味ではありません。たとえば、外部テーブルでINSERT OVERWRITEを実行できるはずです。

言われているように、読取りアクセスしかないときは(内部)テーブルを使用することは間違いありません。だから私はこれも外部テーブルの場合と思われます。書き込みアクセス権を持つアカウントでテーブルを作成してから、通常のアカウントで使用してみてください。

関連する問題