【问题标题】:Hive Table deletion and query processingHive表删除和查询处理
【发布时间】:2018-05-31 06:28:41
【问题描述】:

根据我对 Hive 概念的理解,如果我们将数据集加载到 hive 表中,数据文件将从源路径移动到 HDFS 内的 hive 仓库,并且 HDFS 设置为数据的三个副本。

这些问题可能看起来很傻,但作为初学者,我想清除我的疑虑。

我的问题是:

1) 如果我删除 hive 表,它会仅从 hive 仓库中删除数据文件,还是从 HDFS 中删除其他两个副本?

2)如果我们在 hive 表上处理查询,该查询是否会作为分布式处理完成? 比如说,一个数据文件的大小为 1GB(实习生 8 个块 x 128MB),并且由于我们有三个复制因子,因此该文件总共有 24 个块可用 我们的 Hive 查询是分布在所有数据块中还是仅在 Hive 仓库块上处理?

提前谢谢..

【问题讨论】:

    标签: hive


    【解决方案1】:

    如果您从 HDFS 路径“加载数据路径”,则数据将从源 HDFS 路径移动到目标 HDFS 路径, 如果您执行“加载数据本地路径”,它不会将数据从本地移动到 HDFS 路径,而是复制

    关于你的问题 如果你删除 HDFS 中的文件,所有的副本都会被删除。

    如果您有一个具有 3 个复制因子的 1gb 文件(8 个块),当您在 hive CLI 中触发查询时,它会将您的查询转换为 MR。它只处理 8 个块,如果触发作业的数据节点故障,它会访问不同节点上的第二个副本并处理数据(推测执行)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-11
      • 1970-01-01
      • 2018-11-11
      • 2018-01-02
      • 2018-05-18
      • 1970-01-01
      • 2016-10-10
      • 1970-01-01
      相关资源
      最近更新 更多