【问题标题】:HDFS intracluster copy with selected columns具有选定列的 HDFS 集群内副本
【发布时间】:2017-08-10 07:34:24
【问题描述】:

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

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

【问题讨论】:

  • 请分享您的单词详情
  • "intercluster" 表示您在 2 个不同的集群之间移动数据。这不是这里的情况。请删除该词或替换为“intracluster”(但这没有用)。

标签: hadoop hive hdfs avro distcp


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-17
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    相关资源
    最近更新 更多