如果你正在使用 Flink 的 Direct Reader 来访问 Hive ACID 表,并且受到 Ranger 授权限制,无法读取表的数据,可能是因为 Direct Reader 不经过 Hive 的 Thrift 接口,而是直接读取 Hive 表的数据文件,绕过了 Ranger 的授权验证。
在启用 Ranger 鉴权的情况下,Ranger 通常会拦截对 Hive 表的访问请求,根据预定义的策略进行权限验证。然而,Flink Direct Reader 绕过了 Hive Thrift 接口,直接读取数据文件,因此无法受到 Ranger 的授权限制。
能力 | JDBC方式 | Spark Direct Reader模式 |
---|---|---|
Ranger 与细粒度访问控制的集成 | ✓ | 不适用 |
Hive ACID 读取 | ✓ | ✓ |
处理的工作负载 | 非生产的工作负载、小数据集 | 生产工作负载,没有细粒度访问控制的 ETL |
如果你希望在受到 Ranger 鉴权的环境中使用 Flink 访问 Hive ACID 表,可以尝试以下方法:
-
使用 Hive Thrift 接口:不要使用 Flink 的 Direct Reader,而是通过 Hive JDBC 接口或 Hive Streaming API 连接到 Hive,这样数据访问将经过 Hive 的 Thrift 接口,受到 Ranger 的授权限制。文章来源:https://www.toymoban.com/news/detail-582541.html
-
配置 Ranger 授权策略:在 Ranger 中配置适当的授权策略,允许 Flink 文章来源地址https://www.toymoban.com/news/detail-582541.html
到了这里,关于Flink Direct Reader访问Hive ACID表被ranger授权限制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!