简介
本文介绍URI的基本格式,并结合Hadoop 2.7.x相关HDFS命令,讲解在与HDFS交互中如何指定文件和目录确切位置的URI。URI介绍
维基百科中对URI的定义:统一资源标识符(英语:Uniform Resource Identifier,或URI)是一个用于标识某一互联网资源名称的字符串。该种标识允许用户对网络中(一般指万维网)的资源通过特定的协议进行交互操作。URI的最常见的形式是统一资源定位符(URL),经常指定为非正式的网址。在Hadoop应用中,URI精确地定位一个特定文件或目录的位置,完整的URI格式为scheme://authority/path。其中Scheme类似于一个协议,它可以是hdfs或file,来分别指定HDFS文件系统或本地文件系统。对于HDFS,authority是NameNode的主机名,而path是文件或目录的路径。
伪分布式模式的应用
在本文中,我们假设当前登录用户名为hadoop。对于在本地机器的9000端口上,以标准伪分布式模型运行的HDFS,访问用户目录user/hadoop中文件example.txt的URI大致为hdfs://localhost:9000/user/hadoop/example.txt.可以使用Hadoop的cat命令来显示该文件的内容:hadoop fs -cat hdfs://localhost:9000/user/hadoop/example.txt
大多数设置情况下不需要指定URI中的schema://authority部分。当本地文件系统和HDFS之间复制文件时,Hadoop中命令会分别把本地文件系统作为源和目的,而不需要指定为scheme为file。对于其它命令,如果未设置URI中scheme