为什么hadoop不允许使用VIM编辑文件?

时间:2016-09-29 05:49:36

标签: hadoop vim

为什么hadoop不允许使用VIM编辑文件。我想使用HDFS命令行使用编辑器编辑修改文件。

2 个答案:

答案 0 :(得分:2)

Hadoop的文件系统-HDFS是一次写入,读取多个文件系统。我们无法编辑HDFS中的任何文件,如果需要,我们可以添加。此分布式文件系统旨在处理大量数据。 VIM,vi,nano,gedit等是unix文件编辑器,只能用于编辑Unix文件系统中的文件。 HDFS基本上是虚拟文件系统,我们使用HDFS URI和HDFS命令访问文件系统。当我们读取hdfs location / user / user1中的文件时,实际的URI是hdfs:// namenode:port / user / user1。我们不能使用普通的unix文件系统命令来访问hadoop文件系统。我们有hadoop文件系统命令和相关的api来访问hadoop文件系统。 hadoop的文件系统存储在底层unix服务器的磁盘中,但它具有根据HDFS架构存储的单独元数据和块。

与unix文件系统相比,HDFS文件系统架构和格式完全不同。由于系统设计用于处理大量数据,因此不会添加编辑选项以避免编辑大型文件的开销。如果您了解HDFS的体系结构以及文件的存储方式,您将清楚地了解为什么在hdfs中不存在编辑文件的选项。

将某些内容添加到文件中的开销较小,因为它不会涉及更改完整文件和文件元数据。但是修改文件中的内容是一个巨大的开销,因为它涉及数据的完整修改以及相关的元数据。

答案 1 :(得分:2)

您可以复制this 5 line script并使用

hvim <your filename>

脚本代码:

hadoop fs -text $1>hvim.txt
vim hvim.txt
hadoop fs -rm -skipTrash $1
hadoop fs -copyFromLocal hvim.txt $1
rm hvim.txt