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

omqzjyyz  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(599)

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

9w11ddsr

9w11ddsr1#

hadoop的文件系统hdfs是一次写入,多次读取的文件系统。我们不能在hdfs中编辑任何文件,如果需要,我们可以执行追加操作。这个分布式文件系统是为处理大量数据而设计的。vim、vi、nano、gedit等是unix文件编辑器,只能用于在unix文件系统中编辑文件。hdfs基本上是虚拟文件系统,我们使用hdfs uri和hdfs命令访问文件系统。当我们读取hdfs位置/user/user1中的文件时,实际的uri是hdfs://namenode:port/user/user1。我们不能使用普通的unix文件系统命令来访问hadoop文件系统。我们有hadoop文件系统命令和相关api来访问hadoop文件系统。hadoop的文件系统存储在底层unix服务器的磁盘中,但是根据hdfs体系结构,它有单独的元数据和块存储。
hdfs文件系统的体系结构和格式与unix文件系统完全不同。由于系统设计用于处理大量数据,因此没有添加编辑选项以避免编辑大量文件的开销。如果您阅读了hdfs的体系结构和文件的存储方式,您就会清楚地了解为什么hdfs中没有编辑文件的选项。
向文件追加内容的开销较小,因为它不涉及对完整文件和文件元数据的更改。但是修改文件中的某些内容是一项巨大的开销,因为它涉及到对数据以及相关元数据的完全修改。

8qgya5xd

8qgya5xd2#

你可以复制这个5行脚本并使用它们

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

相关问题