Всякий раз, когда мы запускаем запрос типа select * from tablename , Hive считывает файл данных и извлекает все данные без какой-либо агрегации (min / max / count и т. Д.). Это будет вызывать FetchTask , а не mapreduce .
Это также методика оптимизации в Hive. Свойство hive.fetch.task.conversion может (т.е. задача FETCH) минимизировать задержку при уменьшении затрат на карту.
Это похоже на чтение файла hadoop: hadoop fs -cat filename
Но если мы используем , выбираем colNames из таблицы , для этого требуется задание сокращения карты, поскольку ему нужно извлечь «столбец» из каждой строки, анализируя его из загружаемого файла.