Options
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
Guru
Created on
07-18-2021
08:32 AM
- edited on
07-18-2021
08: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;
Reference: HiveStrictManagedMigration (GitHub)
It should be converted to an EXTERNAL table, in case it does not fit the criteria for the upgrade.