Hive表删除和查询处理

时间:2018-05-31 06:28:41

标签: hive

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

这些问题可能看起来很愚蠢但是我是初学者,我想清楚我的怀疑。

我的问题是:

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

2)如果我们正在处理hive表上的查询,那么查询是否会作为分布式处理完成? 按照说,一个数据文件的大小为1GB(实习生8个块x 128MB),因为我们有三个复制因子,这个文件总共有24个块可用 我们的hive查询是在所有数据块之间分配还是仅在hive仓库块上处理?

提前致谢..

1 个答案:

答案 0 :(得分:0)

如果你做了#34;在路径中加载数据"从HDFS路径,数据将从源HDFS路径移动到目标HDFS路径, 如果您执行"在路径中加载数据",它不会将数据从本地移动到HDFS路径,而是复制

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

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