zoukankan      html  css  js  c++  java
  • hadoop中URI理解

    1)在编写MR程序的时候经常会有如下代码:

    String uri=“。。。。”;

    Configuration conf=new Configuration();

    FileSystem fs=FileSystem.get(URI.create(uri),conf);

    URI究竟是什么东西?有什么用?
    2)URI称为统一资源标示符,在Hadoop中使用URI路径作为参数,其格式是:scheme://authority/path。对于HDFS文件系统,scheme(对应协议名)就是hdfs(对于本地文件系统就是file),authority就是namenode主机名,path就是文件(目录)的路径构成的字符串。一个HDFS目录或者文件,比如/parent/child,可以表示为hdfs://namenode:namenodeport/parent/child,一直namenode名称为Master,对应HDFS的端口号是9000的话,实际上就是hdfs://Master:9000/parent/child。当然,scheme和authority参数是可选的,也就是可以省略,如果未加指定就会使用配置中指定的默认值(也就是core-site.xml中配置项fs.default.name的值),如果fs.default.name=hdfs://Master:9000,那么仅仅使用/parent/child就可以表示hdfs://Master:9000/parent/child。这样可以解释conf和URI一起使用,conf是配置文件(conf目录下的配置文件们)相关的对象,uri省略了scheme和authority的部分,虽然不完整,但是与conf配置使用,读取了core-site.xml中的默认scheme值,组成了完整的URI对象,然后创建FileSystem对象。

     参考:

    https://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html

    http://www.cnblogs.com/linjiqin/p/3147837.html

  • 相关阅读:
    HTTP 错误 404.2
    SQL Server 2008 R2如何开启数据库的远程连接(转)
    CSS中font-family:中文字体对应的英文名称
    15/18位身份证号码正则表达式(详细版)
    C#获取系统时间及时间格式
    C#正则表达式判断输入日期格式是否正确
    Linux查看机器负载
    模拟HTTP请求超时时间设置
    MySQL show命令的用法
    innodb事务隔离级别
  • 原文地址:https://www.cnblogs.com/lz3018/p/5243408.html
Copyright © 2011-2022 走看看