更新时间:2023-03-17 GMT+08:00

允许在只读权限的目录建外表

操作场景

此功能在MRS 3.x之前版本适用于Hive,Spark。在MRS 3.x及后续版本适用于Hive,Spark2x。

开启此功能后,允许有目录读权限和执行权限的用户和用户组创建外部表,而不必检查用户是否为该目录的属主,并且禁止外表的location目录在当前默认warehouse目录下。同时在外表授权时,禁止更改其location目录对应的权限。

开启本功能之后,外表功能变化大。请充分考虑实际应用场景,再决定是否作出调整。

操作步骤

  1. 进入Hive服务配置页面:

    • MRS 3.x之前版本,单击集群名称,登录集群详情页面,选择“组件管理 > Hive > 服务配置”,单击“基础配置”下拉菜单,选择“全部配置”。

      若集群详情页面没有“组件管理”页签,请先完成IAM用户同步(在集群详情页的“概览”页签,单击“IAM用户同步”右侧的“同步”进行IAM用户同步)。

    • MRS 3.x及后续版本,登录FusionInsight Manager,具体请参见访问FusionInsight Manager(MRS 3.x及之后版本)。然后选择“集群 > 待操作的集群名称 > 服务 > Hive > 配置 > 全部配置”。

  2. 选择“HiveServer(角色) > 自定义”,对参数文件“hive-site.xml”添加自定义参数,设置“名称”为“hive.restrict.create.grant.external.table”,“值”为“true”。
  3. 选择“MetaStore(角色) > 自定义”,对参数文件“hivemetastore-site.xml”添加自定义参数,设置“名称”为“hive.restrict.create.grant.external.table”,“值”为“true”,修改后重启所有Hive实例。
  4. 是否需要在Spark/Spark2x客户端中启用此功能?

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