程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Hortonworks (HDP) 到 Cloudera (CDP) 迁移后无法创建托管 Hive 表大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Hortonworks (HDp) 到 Cloudera (CDp) 迁移后无法创建托管 Hive 表?

开发过程中遇到Hortonworks (HDp) 到 Cloudera (CDp) 迁移后无法创建托管 Hive 表的问题如何解决?下面主要结合日常开发的经验,给出你关于Hortonworks (HDp) 到 Cloudera (CDp) 迁移后无法创建托管 Hive 表的解决方法建议,希望对你解决Hortonworks (HDp) 到 Cloudera (CDp) 迁移后无法创建托管 Hive 表有所启发或帮助;

作为从 Hortonworks 数据平台 (HDP v3.X) 迁移到 Cloudera 数据平台 (CDp) 7.1 版的一部分,我们正在测试我们的 Hadoop 应用程序。在测试时,我们在尝试创建托管 Hive 表时发现了以下问题。请就可能的解决方案提出建议。谢谢!

错误:编译语句时出错:失败:执行错误,从 org.apache.hadoop.hive.ql.ddl.DDLTask 返回代码 40000。 MetaException(消息:托管表的位置应位于托管仓库根目录或其数据库的 managedLOCATIOnUri 内。表 MANAGED_TBL_A 的位置无效:hdfs://cluster/prj/Warehouse/Secure/APP/ managed_tbl_a,托管仓库:hdfs://cluster/warehouse/tablespace/managed/hivE) (state=08S01,code=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');

解决方法

hive.metastore.warehouse.dir - 是仓库根目录。

创建数据库时,指定 @H_897_11@mANAGEDLOCATION - 托管表的位置根目录和 LOCATION - 外部表的根目录。

@H_897_11@mANAGEDLOCATION 在 hive.metastore.warehouse.dir

将 @H_897_11@metastore.warehouse.tenant.coLOCATIOn 属性设置为 true 允许托管表 (MANAGEDLOCATION) 位于仓库根目录之外的公共位置,从而为设置配额和其他策略提供基于租户的公共根。

在本手册中查看更多详细信息:Hive managed LOCATIOn。

大佬总结

以上是大佬教程为你收集整理的Hortonworks (HDP) 到 Cloudera (CDP) 迁移后无法创建托管 Hive 表全部内容,希望文章能够帮你解决Hortonworks (HDP) 到 Cloudera (CDP) 迁移后无法创建托管 Hive 表所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。