更新时间:2026-04-08 GMT+08:00
分享

配置Hive Transform功能开关

操作场景

Hive的Transform功能允许用户在Hive查询中嵌入外部脚本(如Python、Java等),对数据进行复杂的转换和处理。这使得用户能够执行无法通过标准Hive函数实现的自定义数据处理逻辑。Transform操作将数据传递给外部脚本进行处理,然后将处理后的结果返回给Hive,从而实现数据的清洗、转换、丰富等操作。这一功能扩展了Hive的能力,满足了更复杂的ETL需求。

Hive开源社区版本禁用Transform功能。MRS Hive提供配置开关,集群已启用Kerberos认证(安全模式)默认为禁用Transform功能,与开源社区版本保持一致。用户可修改配置开关,开启Transform功能,当开启Transform功能时,存在一定的安全风险,请谨慎使用。

约束与限制

集群未启用Kerberos认证(普通模式)默认允许执行Transform功能,不支持该章节操作;但Hive开启Ranger鉴权后默认禁用Transform功能,支持按照该章节操作开启或禁用Transform功能。

操作步骤

  1. 登录FusionInsight Manager,选择“集群 > 服务 > Hive > 配置 > 全部配置”。

  2. 修改或新增“hive.security.transform.disallow”参数。

    • 集群已启用Kerberos认证(安全模式)

      在搜索框中搜索“hive.security.transform.disallow”,修改参数值为“true”或“false”,修改后保存配置并重启所有HiveServer实例。

    • 集群未启用Kerberos认证(普通模式)且Hive启用了Ranger鉴权

      在左侧导航栏选择“HiveServer(角色) > 自定义”,对参数文件“hivemetastore-site.xml”添加自定义参数,设置“名称”为“hive.security.transform.disallow”,“值”为“true”或“false”,修改后保存配置并重启所有HiveServer实例。

    • “hive.security.transform.disallow”参数值为“true”时,禁用Transform功能,与开源社区版本保持一致。
    • “hive.security.transform.disallow”参数值为“false”时,开启Transform功能,存在一定的安全风险。

相关文档