hadoop中查看文件内容

cclgggtu  于 2021-06-04  发布在  Hadoop
关注(0)|答案(6)|浏览(447)

也许这是一个noob问题,但是除了复制到本地和通过unix读取之外,还有没有其他方法可以读取hdfs中文件的内容呢?
所以现在我要做的是:

bin/hadoop dfs -copyToLocal hdfs/path local/path

  nano local/path

我想知道我是否可以直接打开一个文件到hdfs而不是复制它在本地然后打开它。

eh57zj3b

eh57zj3b1#

如果您使用的是hadoop2.x,那么可以使用

hdfs dfs -cat <file>
juzqafwq

juzqafwq2#

我通常使用

$ hdfs dfs -cat <filename> | less

这也有助于我在查看内容时搜索单词以找到我感兴趣的内容。
对于不太与上下文无关的目的,比如知道文件中是否存在某个特定的单词,或者计算单词的出现次数,我使用。

$ hdfs dfs -cat <filename> | grep <search_word>

注: grep 也有 -C 上下文选项,带 -A 以及 -B 对于赛后/赛前的线路。

aij0ehis

aij0ehis3#

我相信 hadoop fs -cat <file> 我应该做这项工作。

hgncfbus

hgncfbus4#

如果文件大小很大(大多数情况下都是这样),那么通过执行“cat”操作,您就不想通过抛出文件的全部内容来炸毁您的终端。相反,使用管道只获取文件的几行。
为了获得文件的前10行,hadoop fs-cat'file path'| head-10
为了获得文件的最后5行,hadoop fs-cat'file path'| tail-5

iq3niunx

iq3niunx5#

ssh到emr集群 ssh hadoop@emrClusterIpAddress -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\u 1557435401803\u 0106
现在查看文件运行 hdfs dfs -cat /eventLogging/application_1557435401803_0106 资源:https://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/hdfscommands.html

8cdiaqws

8cdiaqws6#

hadoop dfs -cat <filename>  or    hadoop dfs -cat <outputDirectory>/*

相关问题