更新时间:2024-10-28 GMT+08:00

配置创建Hive内部表时不能指定Location

“hive.internaltable.notallowlocation”参数可用于限制在创建Hive内部表时不能指定Location。即表创建成功之后,表的Location路径会被创建在当前默认warehouse目录下,不能被指定到其他目录;如果创建内部表时指定Location,则创建失败。

开启该功能后,如果数据库中已存在建表时指向非当前默认warehouse目录的表,在执行建库、表脚本迁移、重建元数据操作时需要特别注意,防止错误。

操作步骤

  1. 登录FusionInsight Manager页面,选择“集群 > 服务 > Hive > 配置 > 全部配置”。
  2. 选择“HiveServer(角色) > 自定义”,对参数文件“hive-site.xml”添加自定义参数,设置“名称”为“hive.internaltable.notallowlocation”,“值”为“true”。
  3. 单击“保存”保存配置。单击“实例”,勾选所有Hive实例,选择“更多 > 重启实例”,输入当前用户密码,单击“确定”重启所有Hive实例。
  4. 是否需要在Spark/Spark2x客户端中启用此功能?

    • 是,重新下载并安装Spark/Spark2x客户端。
    • 否,操作结束。