我有一个数据集(~31gb,扩展名为.gz的压缩文件),它存在于一个web位置上,我想在上面运行我的hadoop程序。这个程序是对hadoop附带的wordcount示例的一个小小的修改。在我的例子中,hadoop安装在远程机器上(我通过ssh连接到该机器,然后运行我的作业)。问题是我无法将这个大数据集传输到远程计算机上的主目录(由于磁盘使用配额)。因此,我尝试搜索是否有方法使用wget获取数据集并直接将其传递到hdfs(不保存在远程机器上的本地帐户),但没有成功。这样的方式存在吗?有什么其他的建议可以让这个工作吗?
我已经试过使用雅虎了!虚拟机是用hadoop预先配置的,但是它太慢而且内存不足,因为数据集太大。
1条答案
按热度按时间xmjla07d1#
在这里查看答案:将远程文件放入hadoop而不将其复制到本地磁盘
您可以通过管道将数据从wget传输到hdfs。
但是,您将遇到一个问题-gz是不可拆分的,因此您将无法在其上运行分布式map/reduce。
我建议您在本地下载该文件,解压它,然后通过管道将其导入,或者将其拆分为多个文件并将其加载到hdfs中。