Created on 07-18-202108:32 AM - edited on 07-18-202108:47 PM by subratadas
Following is the criteria:
ORC and Managed table
ACID enabled
HDFS directory should be owned by Hive
According to the shouldTableBeExternal method in HiveStrictMigration.java, a table is external if it is a StorageHandler table, or if it is an Avro/Text/Parquet table, or if it is a list bucketed table, or the directory is not owned by Hive.
Following is the codebase that describes the same:
String reason = shouldTableBeExternal(tableObj, ownerName, conf, hms, isPathOwnedByHive); if (reason != null) { LOG.debug("Converting {} to external table. {}", getQualifiedName(tableObj), reason); result = TableMigrationOption.EXTERNAL; } else { result = TableMigrationOption.MANAGED;