更新时间:2022-12-14 GMT+08:00

Hive能给一个不存在的目录插入数据

操作场景

此功能适用于Hive组件。

开启此功能后,在执行写目录:insert overwrite directory “/path1/path2/path3” ...时,其中“/path1/path2”目录权限为700且属主为当前用户,“path3”目录不存在,会自动创建“path3”目录,并写数据成功。

上述功能,在Hive参数“hive.server2.enable.doAs”为“true”时已经支持,本次增加当“hive.server2.enable.doAs”为“false”时的功能支持。

本功能参数调整与Hive写目录旧数据进回收站添加的自定义参数相同。

操作步骤

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

    • MRS 2.0.1之前版本,登录MRS Manager,选择“服务管理 > Hive > 服务配置”,单击“基础配置”下拉菜单,选择“全部配置”。
    • MRS 2.0.1及之后版本,在MRS控制台单击集群名称,选择“组件管理 > Hive > 服务配置”,单击“基础配置”下拉菜单,选择“全部配置”。

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

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

  2. 选择“HiveServer(角色) > 自定义”,对参数文件“hive-site.xml”添加自定义参数,设置“名称”为“hive.overwrite.directory.move.trash”,“值”为“true”,修改后重启所有Hive实例。