Adding to Alan's points external tables are used often as a staging area.
For example, ingesting data from HDFS location on a daily basis and putting
that data into Hive managed tables. That location of that external table
can change pointing to a new HDFS directory created by say Flume etc
through ALTER table like below



Dr Mich Talebzadeh

LinkedIn *

*Disclaimer:* Use it at your own risk. Any and all responsibility for any
loss, damage or destruction of data or any other property which may arise
from relying on this email's technical content is explicitly disclaimed.
The author will in no case be liable for any monetary damages arising from
such loss, damage or destruction.

On 1 December 2016 at 17:53, Alan Gates <> wrote:

> Hive does not assume that it owns the data for an external table.  Thus
> when an external table is dropped, the data is not deleted.  People often
> use this as a way to load data into a directory in HDFS and then “cast” a
> table structure over it by creating an external table with that directory
> as its location.
> Alan.
> > On Dec 1, 2016, at 06:15, Huang Meilong <> wrote:
> >
> > Hi all,
> >
> > I found an enum TableType in package org.apache.hadoop.hive.metastore.
> What's the difference between MANAGED_TABLE and EXTERNAL_TABLE?
> >
> > Will the table be an EXTERNAL TABLE with setting table type
> EXTERNAL_TABLE when creating table?
> >
> > I found the code to determine whether a table is an external table in
> >
> src/java/org/apache/hadoop/hive/metastore/
> >
> > I'm confused what is EXTERNAL_TABLE in TableType for?

Reply via email to