3

我一直在寻找一种方法来保护 Parquet 文件,按列,用于 Spark 访问。理想情况下,这将与Apache Ranger为 Hive 工作的方式相同,即系统管理员为不同的组和列定义访问策略。

我一直在通过 Hortoworks HDP 尝试 Ranger,但是,Spark 和 Parquet 的插件似乎还没有。

我还能够使用Apache Drill和视图设计一个解决方案,但是,目前还不能接受,主要是因为社区对 Drill 的支持仍然很少。

有没有人面临同样的要求和/或有一些解决方案的方向?

4

1 回答 1

1

经过大量研究,我得出结论,这是不可能的。

Ranger 与其他工具(HDFS、Hive、HBase 等)一起工作的方式是使用实现这些工具提供的挂钩的插件。例如,要创建一个自定义插件来保护 Hive,需要通过 HiveAuthorizerFactory 创建一个HiveAuthorizer。但是 Parquet 没有这样的钩子,因为它只不过是一种文件格式。

允许从 Ranger 在列级别保护 Parquet 文件的可能解决方案是为 Ranger 的 HDFS 插件创建扩展。此扩展将实现通过 Ranger 定义的 Parquet 文件的访问规则。这样,只要文件存储在 HDFS 中,我们就可以像对 Hive 或 HBase 一样无缝地保护 Parquet 文件。

于 2017-12-05T18:52:03.013 回答