Быстрый способ для проверки файлов в HDFS является использование хвост:
~$ hadoop fs -tail /path/to/file
Это отображение последнего килобайта данных в файл, что крайне полезно. Однако, глава противоположной команды не появляются, чтобы быть частью команды Collections оболочки. Я нахожу это очень удивительно.
Моя гипотеза заключается в том, что с HDFS-это построенные для очень быстрого потокового чтения очень больших файлов, есть какой-то доступ, ориентированных на проблему, которая влияет на "голове". Это делает меня колеблющимся, чтобы делать вещи, чтобы открыть головы. Есть у кого ответ?
Я бы сказал, что это's больше, чтобы сделать с КПД - головой можно легко воспроизвести путем конвейерной передачи выходных данных на базе Hadoop ФС -кошка через руководителя команды Linux.
hadoop fs -cat /path/to/file | head
Это эффективный как руководитель закрывает базовый поток после того, как нужное количество линий выходной был
Используя хвост, таким образом, будет значительно менее эффективным, как вы'd должны передавать весь файл (всю файловую систему HDFS блоков), чтобы найти окончательный x количество строк.
hadoop fs -cat /path/to/file | tail
Hadoop с ФС -хвостом команду, как вы обратите внимание, работает на последнем килобайте - Hadoop может эффективно найти последний блок и перейти к позиции окончательной килобайт, то поток на выходе. Трубопроводов через хвост может'т легко сделать это.
Начиная с версии 3.1.0 теперь у нас есть это:
использование: Hadoop в ФС -начальник Ури
показывает первый килобайт файла в stdout.
Смотрите здесь.
hdfs -dfs /path | head
это хороший способ, чтобы решить проблему.
вы можете попробовать команду следующим образом
hadoop fs -cat /path | head -n
где-н можно заменить количество записей для просмотра