Linux 将文件上载到hadoop

Linux 将文件上载到hadoop,linux,hadoop,Linux,Hadoop,我最近下载了Oracle Virtual Box,我想获取一些数据并将其导入HDFS。我想说的是,在这些事情上,我是一个完全的新手。我试着从一门不起作用的udacity课程中复制说明 如果我使用的术语不准确,我道歉 因此,在我的虚拟机空间中,我有以下文件 计算机 培训之家(由Udacity提供) 蚀 垃圾 在训练之家,我在左手边的位置下面 训练, 桌面 文件系统 网络 垃圾 文件 照片 下载 在右侧,当我选择training时,有许多文件夹,其中之一是udacity_training。当我选择此

我最近下载了Oracle Virtual Box,我想获取一些数据并将其导入HDFS。我想说的是,在这些事情上,我是一个完全的新手。我试着从一门不起作用的udacity课程中复制说明

如果我使用的术语不准确,我道歉

因此,在我的虚拟机空间中,我有以下文件

  • 计算机
  • 培训之家(由Udacity提供)
  • 垃圾
  • 在训练之家,我在左手边的位置下面

  • 训练,
  • 桌面
  • 文件系统
  • 网络
  • 垃圾
  • 文件
  • 照片
  • 下载
  • 在右侧,当我选择training时,有许多文件夹,其中之一是udacity_training。当我选择此选项时,有两个文件夹 代码和数据。当我选择data时,还有两个文件夹,叫做access_log.gz和purchases.txt,这是我想要加载到HDFS中的数据

    复制我键入的udacity教程输入的命令

    [training@localhost~]$ls access\u log.gz purchases.txt

    这给出了错误消息

    ls:无法访问\u log.gz:没有这样的文件或目录 ls:无法访问采购:没有此类文件或目录

    然后我试着写下一行,看看会发生什么

    [training@localhost ~]$ hadoop fs -ls
    [training@localhost ~]$ hadoop fs -put purchases.txt
    
    再说一句错误的话

    put: 'purchases.txt': No such file or directory
    

    我做错了什么?我不太懂命令行提示,我想它们在Linux中?所以我输入的内容对我来说很陌生。我希望能够理解我输入的内容。有人能帮我访问这些数据吗?也许还可以提供一些信息,说明我在哪里可以理解我在命令行中实际输入的内容?非常感谢您的帮助

    请开始学习&命令的基础知识。 要回答您的问题,请尝试以下选项

    使用命令cd/dir\u name转到所需目录,然后使用
    hadoop fs-put/file\u name/hdfs/path


    put
    命令需要本地文件和远程目录参数,请检查此处:。如果要将其放入文件系统根目录,请使用
    /
    指示为远程目录参数。对不起,/将转到哪里?你能给我一个输入什么的例子吗?假设你的shell已经在本地机器上
    purchases.txt
    文件所在的目录中:
    hadoop fs-put purchases.txt/
    ,否则它应该是这样的:
    hadoop fs-put/some/path/on/local/machine/purchases.txt/
    好的,谢谢。如果没有,我该如何将shell放到purchases.txt所在的目录中呢?谢谢,我从学习一些基本的linux命令开始。当我尝试hadoop fs-put/file\u name/hdfs/path时。现在我了解了一些基础知识,我制作了cd-udacity_training/data,其中包含我要加载到HDFS的文件purchases.txt。然而,当我键入hadoop fs-put/purchases.txt/hdfs/path时,我得到一条未知的命令,它使用空格hadoop fs-put。对不起,你能详细说明什么和是什么吗?我开始怀疑我的虚拟机上是否安装了hadoop?如果我键入hadoop fs-ls,我会得到以下错误,我不会在完整的ls中键入它:无效的主机名:本地主机是:“java.net.UnknownHostException…”。。。。。