Ответ 1
Я считаю, что hadoop fs -cat <file>
должен выполнить эту работу.
Вероятно, вопрос noob, но есть ли способ прочитать содержимое файла в hdfs, кроме копирования на локальный и чтение через unix?
Итак, сейчас я делаю следующее:
bin/hadoop dfs -copyToLocal hdfs/path local/path
nano local/path
Мне интересно, могу ли я открыть файл непосредственно в hdfs, а не копировать его на локальном, а затем открывать его.
Спасибо
Я считаю, что hadoop fs -cat <file>
должен выполнить эту работу.
Если размер файла огромен (что будет иметь место в большинстве случаев), с помощью команды "cat" вы не захотите взрывать свой терминал, выбрасывая все содержимое вашего файла. Вместо этого используйте трубопровод и получите только несколько строк файла.
Чтобы получить первые 10 строк файла, hadoop fs -cat 'путь к файлу' | голова -10
Чтобы получить последние 5 строк файла, hadoop fs -cat 'путь к файлу' | хвост -5
hadoop dfs -cat <filename> or hadoop dfs -cat <outputDirectory>/*
Если вы используете hasoop 2.x, вы можете использовать
hdfs dfs -cat <file>
ssh [email protected] -i yourPrivateKey.ppk
/usr/lib/spark/bin/spark-shell --conf spark.eventLog.enabled=true --conf spark.eventLog.dir=hdfs://yourEmrClusterIpAddress:8020/eventLogging --class org.apache.spark.examples.SparkPi --master yarn --jars/usr/lib/spark/examples/jars/spark-examples_2.11-2.4.0.jar
Перечислите содержимое только что созданного каталога, в котором теперь должен быть новый файл журнала из только что выполненного запуска
[hadoop @ip-1-2-3-4 bin] $ hdfs dfs -ls/eventLogging Найдено 1 элементов -rwxrwx --- 1 hadoop hadoop 53409 2019-05-21 20:56/eventLogging/application_1557435401803_0106
Теперь для просмотра файла запустите hdfs dfs -cat/eventLogging/application_1557435401803_0106
Ресурсы: https://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html