zoukankan      html  css  js  c++  java
  • hadoop文件系统常用操作

    详细可参考hadoop官方文档filesystem shell一节

    使用hadoop离不开文件系统,比如hdfs,我们可能需要从hdfs中读取文件作为输入,并将输出保存到hdfs上某个文件中

    首先创建一个目录

    bin> ./hadoop fs -mkdir /user/root

    这样就在根目录 "/" 下创建了一个目录user,并在user目录下创建一个子目录root,对应用户名root,注意这里的根目录 "/" 与linux中文件系统的根目录不同,这里的根目录全部地址应该是 "hdfs://cluster-main:9000/",(假设cluster-main为hadoop集群主节点的host名,9000为hdfs对应端口),故目录 "/user/root" 的地址为 "hdfs://cluster-main:9000/user/root"。另外,如果要读取linux本地文件,则需要写全路径scheme为file,比如 "file:///file3",表示本地文件 "/file3"

    如果删除root子目录则可以执行

    bin> ./hadoop fs -rmdir /user/root

    如果要删除 /user目录,即,递归删除/user的子目录和文件,由于这里 rmdir是作为 ./hadoop fs 的选项, /user作为参数,故无法像linux文件系统那样给rm命令添加 -rf选项,事实上,在hadoop中采用一个新的选项,如下

    bin> ./hadoop fs -rmr /user

    如果本地有一个文件,那我们可以将其推送到hdfs中,比如/user/root/目录下

    bin> ./hadoop fs -put localfile /user/root/hadoopfile

    相反地,如果要将hdfs中的文件下载到本地,则可以执行

    bin> ./hadoop fs -get /user/root/file localfile

    而将hdfs的文件复制到hdfs另一个路径,则与linux本地的cp类似

    bin> ./hadoop fs -cp /user/root/file1 /user/root/file2
  • 相关阅读:
    C语言宏定义##连接符和#符的使用
    C语言宏高级用法 [总结]
    101平衡模式 DIR的理解
    MACHINE_START 怎样调用
    SYSCALL_DEFINE3宏定义的分析
    ARM-Linux系统调用流程
    SYSCALL_DEFINE3 宏定义的转换
    socket编程之select()
    socket编程之select()
    Oracle 常用的查询操作
  • 原文地址:https://www.cnblogs.com/sjjsxl/p/6734728.html
Copyright © 2011-2022 走看看