Невозможно создать управляемую таблицу улья после миграции Hortonworks (HDP) на Cloudera (CDP)
Мы тестируем наши приложения Hadoop в рамках перехода с Hortonworks Data Platform (HDP v3.x) на Cloudera Data Platform (CDP) версии 7.1. Во время тестирования мы обнаружили приведенную ниже проблему при попытке создать управляемую таблицу улья. Посоветуйте, пожалуйста, возможные решения. Спасибо!
Ошибка: ошибка при компиляции оператора: FAILED: ошибка выполнения, код возврата 40000 из org.apache.hadoop.hive.ql.ddl.DDLTask. MetaException(сообщение:местоположение управляемой таблицы должно находиться в корневом каталоге управляемого хранилища или в пределах managedLocationUri его базы данных . Недопустимое расположение таблицы MANAGED_TBL_A:hdfs: // cluster / prj / Warehouse / Secure / APP / managed_tbl_a, управляемое хранилище:hdfs: // кластер / склад / табличное пространство / управляемый / куст) (состояние =08S01, код =40000)
DDL скрипт
create table if not exists MANAGED_TBL_A
(
name string,
id varchar(20),
created_on TIMESTAMP,
created_by VARCHAR(10)
)
partitioned by (partition_date varchar(20))
clustered by (id) into 5 buckets
stored as orc
location '/prj/Warehouse/Secure/APP/managed_tbl_a'
tblproperties ('compactorthreshold.hive.compactor.delta.num.threshold'='1','compactorthreshold.hive.compactor.delta.pct.threshold'='0.5','transactional'='true','orc.create.index'='true','orc.compress.size'='8192');
1 ответ
- это корневой каталог склада.
При создании базы данных укажите - корень расположения для управляемых таблиц и
LOCATION
- корень для внешних таблиц.
MANAGEDLOCATION
внутри
hive.metastore.warehouse.dir
Установка
metastore.warehouse.tenant.colocation
собственность на
true
позволяет использовать общее расположение для управляемых таблиц (MANAGEDLOCATION) вне корневого каталога хранилища, предоставляя общий корень на основе клиента для установки квот и других политик.
См. Дополнительные сведения в этом руководстве: Управляемое расположение Hive .