与Data locality if HDFS not used类似,但是特定于HDFS。使用不同群集的HDFS时的数据局部性
我们有2个hadoop集群,我们向集群提交一份猪作业JobTracker,它从集群B读取一个大数据集(100GB),并将它连接到集群A的一个小数据集(10行)。
b_data = load 'hdfs://b-cluster/big.txt' as (customer_id: chararray);
a_data = load 'hdfs://a-cluster/small.txt' as (customer_id: chararray);
j_data = join a_data by acct_id left, b_data by customer_id;
dump j_data;
出人意料的是,它的工作原理+花费几乎我们使用集群只有一个地方的数据集(约10分钟)
什么技术上发生工作时相同的时间? TaskTracker只在A节点上运行吗?他们如何从B datanodes读取数据集?为什么它如此之快,因为它们不可能享受数据本地化,他们可以吗?
谢谢!
你为什么不提交猪作业集B,把10行到分布式高速缓存,并从那里加入了吗?顺便说一句,我们不知道你的集群A是否运行任务跟踪器。 –
**您从集群B **读取一个大数据集(100GB)是什么意思? – Tariq