Ogni volta che spariamo una query come select * from tablename, Hive legge il file di dati e recupera tutti i dati senza fare alcuna aggregazione (min/max/count, ecc). Chiamerà uno FetchTask anziché un mapreduce attività.
Questa è anche una tecnica di ottimizzazione in Hive. hive.fetch.task.conversion proprietà possibile (ad esempio, attività FETCH) ridurre al minimo la latenza di sovraccarico della mappa.
Questo è come stiamo leggendo un file Hadoop: Hadoop fs -cat nome
Ma se usiamo selezionare colNames da tablename, richiede una mappa-reduce lavoro come ha bisogno di estrarre la "colonna" di ogni riga analizzandola dal file che carica.
fonte
2018-01-11 17:31:39
ma per un file di grandi dimensioni deve essere letto da tutti i nodi in parallelo. Hive lo fa senza MR? – ernesto