困扰我的2个基本问题:
- 我如何确定 hive 用于存储我的表的 32 个文件中的每一个都位于其唯一的机器上?
- 如果发生这种情况,我如何确定如果 hive 创建了 32 个映射器,它们中的每一个都将处理其本地数据?hadoop/hdfs 是否保证了这种魔力,或者作为智能应用程序的 hive 是否确保它会发生?
背景:我有一个由 32 台机器组成的蜂巢集群,并且:
- 我所有的表都是用
"CLUSTERED BY(MY_KEY) INTO 32 BUCKETS"
- 我用
hive.enforce.bucketing = true;
- 我验证并且确实每个表都存储为用户/配置单元/仓库中的 32 个文件
- 我使用的 HDFS 复制因子为 2
谢谢!