我们正在测试hadoop应用程序,作为从hortonworks数据平台(hdpv3.x)迁移到cloudera数据平台(cdp)7.1版的一部分。在测试期间,我们在尝试创建托管配置单元表时发现以下问题。请就可能的解决办法提出建议。谢谢您!
错误:编译语句时出错:失败:执行错误,从org.apache.hadoop.hive.ql.ddl.ddltask返回代码40000。元异常(message:a managed 表的位置应位于托管仓库根目录或其数据库的managedlocationuri中。表管理的\u tbl \u a的位置不是valid:hdfs用法://cluster/prj/warehouse/secure/app/managed\u tbl\u a,managedwarehouse:hdfs://cluster/warehouse/tablespace/managed/hive)(状态=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条答案
按热度按时间cngwdvgl1#
hive.metastore.warehouse.dir
-是仓库根目录。创建数据库时,请指定
MANAGEDLOCATION
-托管表和LOCATION
-外部表的根。MANAGEDLOCATION
在hive.metastore.warehouse.dir
设置metastore.warehouse.tenant.colocation
属性到true
允许在仓库根目录外为托管表(managedlocation)提供公共位置,提供基于租户的公共根目录以设置配额和其他策略。请参阅本手册中的更多详细信息:配置单元管理的位置。