0

我正在使用 Avro 文件将数据存储在 HDFS 中。我需要从一个 avro 文件中复制选定的列数据,并将其发送到具有自己的模式文件(具有选定列信息)的同一集群中的另一个位置。我怎样才能做到这一点?是否可以使用 Hive 实现?或者 HDFS 中是否有任何实用程序可以帮助我做到这一点?

这是必需的,因为一个组必须能够访问整个表,而另一个组应该只能访问少数列。因此,我需要它们位于 HDFS 中的单独位置,只有所需的架构和 avro 文件。

4

1 回答 1

0

有多种创建方法可以做到这一点,我想说最简单的是使用 Hive 或 Spark。在 hive 中,您可以使用读取器架构创建表(仅包含您想要的字段)并将表位置指向您的目标目录。之后,您只需要从源表中插入,只选择您想要的字段到您的阅读器表中。

就像评论一样,在这种情况下,创建阅读器模式是避免数据重复的一个很好的解决方案。如果对创建数据子集没有严格要求,我建议使用阅读器模式

于 2017-08-10T13:37:56.920 回答