使用Hadoop处理外部驱动器中的大数据,而无需将其移动到HDFS

使用Hadoop处理外部驱动器中的大数据,而无需将其移动到HDFS,hadoop,Hadoop,我是Hadoop的初学者,我有一个运行在250GB linux上的单节点Hadoop 我有一个外置硬盘,它有超过1 TB的数据 我的问题是如何使这些数据对Hadoop可见,而不将它们复制到HDFS中 我试图将装入的硬盘驱动器放入datanode.dir,但看不到文件。如果您的Hadoop客户端与连接到外部HD的计算机位于同一台计算机上,则可以使用访问数据 例如,您可以运行: hadoop fs -ls file://path/to/external/dir 上面的命令应该列出指定的本地绝对路

我是Hadoop的初学者,我有一个运行在250GB linux上的单节点Hadoop

我有一个外置硬盘,它有超过1 TB的数据

我的问题是如何使这些数据对Hadoop可见,而不将它们复制到HDFS中


我试图将装入的硬盘驱动器放入datanode.dir,但看不到文件。

如果您的Hadoop客户端与连接到外部HD的计算机位于同一台计算机上,则可以使用访问数据

例如,您可以运行:

hadoop fs -ls file://path/to/external/dir 

上面的命令应该列出指定的本地绝对路径的内容。

上面给出的答案将显示HDFS中已经存在的内容

hadoop fs-ls命令用于查看HDFS中的内容

由于HDFS是一个不同于您个人计算机文件系统的文件系统,因此您无法使用查看本地计算机上存在的数据 hadoop fs-lsfile://path/to/external/directory.


但是您可以在hadoop程序中访问外部硬盘的数据。在mapreduce作业中访问本地计算机数据的简单代码段可以在以下问题中找到:-

嗯,这是不可能的。Hadoop强调数据本地化,这是使Hadoop不同于经典网格计算的一个关键设计因素。这也是HDFS和MapReduce一起部署在节点中的原因

数据本地化在许多方面提高了计算速度。这是不可能的其他几个boz更多的设计和性能的原因。我建议您研究HDFS概念


希望这是有帮助的

你只是想学习Hadoop还是想解决一个问题。如果是后者,我甚至不会费心在只有一个节点的情况下使用Hadoop。