2 preguntas básicas que me afligen:¿Cómo garantiza colmena/hadoop que cada asignador trabaja con datos que son locales para él?
- ¿Cómo puedo estar seguro de que cada uno de la colmena 32 archivos utiliza para almacenar mis tablas se sienta en su máquina única?
- Si eso sucede, ¿cómo puedo estar seguro de que si colmena crea 32 mapeadores, cada uno de ellos funcionará en sus datos locales? ¿Hardoop/HDF garantiza esta magia, o colmena como una aplicación inteligente se asegura de que va a suceder?
Antecedentes: Tengo un racimo hervidero de 32 máquinas, y:
- Todos mis tablas se crean con
"CLUSTERED BY(MY_KEY) INTO 32 BUCKETS"
- utilizo
hive.enforce.bucketing = true;
- verifiqué y de hecho cada tabla se almacena como 32 archivos en el usuario/colmena/almacén
- Estoy usando el factor de replicación HDFS de 2
Gracias!
De forma predeterminada, HDFS replica los bloques tres veces (el mismo nodo y otros dos nodos, preferiblemente en otro bastidor). – cftarnas
bien, gracias, a la luz de su respuesta, reformulé y formulé una nueva pregunta que describe mejor mi problema: http://stackoverflow.com/questions/6953383/is-a-collocated-join-a-la-netezza-theoretically -possible-in-hive – ihadanny
@SpikeGronim ¿podría darnos una idea de esta pregunta de Hadoop? [¿Es posible restringir que un trabajo de MapReduce tenga acceso a datos remotos?] (Http://stackoverflow.com/q/31789176/320399) – blong