草庐IT

HDFS常用命令操作时

摸摸小油头. 2023-07-15 原文

1、创建目录

创建单层目录

执行命令:hdfs dfs -mkdir /ied

利用Hadoop WebUI查看创建的目录

 

创建多层目录,执行命令:hdfs dfs -mkdir /luzhou/lzy,会报错,因为/luzhou目录不存在

 

可以先创建/luzhou目录,然后在里面再创建lzy子目录,但是也可以一步到位,需要一个-p参数

执行命令:hdfs dfs -mkdir -p /luzhou/lzy

 利用Hadoop WebUI查看创建的多层目录

 

2、查看目录

执行命令:hdfs dfs -ls /,查看根目录

 

 执行命令:hdfs dfs -ls /luzhou

 查看根目录里全部的资源,要用到地柜参数-R(必须大写),执行命令:hdfs dfs -ls -R /

 

3、上传本地文件到HDFS

创建test.txt文件,执行命令:echo "hello hadoop world" > test.txt

 查看test.txt文件内容

 上传test.txt文件到HDFS的/ied目录,执行命令:hdfs dfs -put test.txt /ied

 查看是否上传成功

 利用Hadoop WebUI界面查看

4、查看文件内容

执行命令:hdfs dfs -cat /ied/test.txt

5、下载HDFS文件到本地

先删除本地的test.txt文件

 下载HDFS文件系统的/ied/test.txt到本地当前目录不改名,执行命令:hdfs dfs -get /ied/test.txt,检测是否下载成功

 可以将HDFS上的文件下载到本地指定位置,并且可以更改文件名

执行命令:hdfs dfs -get /ied/test.txt /home/exam.txt

 检查是否下载成功

6、删除HDFS文件

执行命令:hdfs dfs -rm /ied/test.txt

 检查是否删除成功

 使用通配符,可以删除满足一定特征的文件

 

7、删除HDFS目录

执行命令:hdfs dfs -rmdir /luzhou

 提示-rmdir命令删除不了非空目录,要递归删除才能删除非空目录:hdfs dfs -rm -r /luzhou

 删除空目录/BigData,执行命令:hdfs dfs -rmdir /BigData

 

8、移动目录或文件

-mv命令兼有移动与改名的双重功能

/ied目录更名为/ied01,执行命令:hdfs dfs -mv /ied /ied01

 利用Hadoop WebUI查看是否更名成功

 将/ied01/exam.txt更名为/ied/test.txt,执行命令:hdfs dfs -mv /ied01/exam.txt /ied01/test.txt

 查看改名后的test.txt文件内容

 

9、文件合并下载

现在/ied01里有一个test.txt,创建sport.txtmusic.txt并上传

 合并/ied01目录的文件下载到本地当前目录的merger.txt,执行命令:hdfs dfs -getmerge /ied01/* merger.txt

 查看本地的merger.txt,看是不是三个文件合并后的内容

 merger.txtmusic.txtsport.txttest.txt合并后的结果

10、检查文件信息

检查test.txt文件,执行命令:hdfs fsck /ied01/test.txt -files -blocks -locations -racks

 

有关HDFS常用命令操作时的更多相关文章

  1. 华为常用命令 - 2

    system-view进入系统视图quit退到系统视图sysname交换机命名vlan20创建vlan(进入vlan20)displayvlan显示vlanundovlan20删除vlan20displayvlan20显示vlan里的端口20Interfacee1/0/24进入端口24portlink-typeaccessvlan20把当前端口放入vlan20undoporte1/0/10删除当前VLAN端口10displaycurrent-configuration显示当前配置02配置交换机支持TELNETinterfacevlan1进入VLAN1ipaddress192.168.3.100

  2. ruby - 如何使用 Selenium Webdriver 根据 div 的内容执行操作? - 2

    我有一个使用SeleniumWebdriver和Nokogiri的Ruby应用程序。我想选择一个类,然后对于那个类对应的每个div,我想根据div的内容执行一个Action。例如,我正在解析以下页面:https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=puppies这是一个搜索结果页面,我正在寻找描述中包含“Adoption”一词的第一个结果。因此机器人应该寻找带有className:"result"的div,对于每个检查它的.descriptiondiv是否包含单词“adoption

  3. ruby-on-rails - 如何处理 Grape 中特定操作的过滤器之前? - 2

    我正在我的Rails项目中安装Grape以构建RESTfulAPI。现在一些端点的操作需要身份验证,而另一些则不需要身份验证。例如,我有users端点,看起来像这样:moduleBackendmoduleV1classUsers现在如您所见,除了password/forget之外的所有操作都需要用户登录/验证。创建一个新的端点也没有意义,比如passwords并且只是删除password/forget从逻辑上讲,这个端点应该与用户资源。问题是Grapebefore过滤器没有像except,only这样的选项,我可以在其中说对某些操作应用过滤器。您通常如何干净利落地处理这种情况?

  4. ruby-on-rails - 在 Ruby on Rails 中发送响应之前如何等待多个异步操作完成? - 2

    在我做的一些网络开发中,我有多个操作开始,比如对外部API的GET请求,我希望它们同时开始,因为一个不依赖另一个的结果。我希望事情能够在后台运行。我找到了concurrent-rubylibrary这似乎运作良好。通过将其混合到您创建的类中,该类的方法具有在后台线程上运行的异步版本。这导致我编写如下代码,其中FirstAsyncWorker和SecondAsyncWorker是我编写的类,我在其中混合了Concurrent::Async模块,并编写了一个名为“work”的方法来发送HTTP请求:defindexop1_result=FirstAsyncWorker.new.async.

  5. ruby - 在 Ruby 中是否有一种惯用的方法来操作 2 个数组? - 2

    a=[3,4,7,8,3]b=[5,3,6,8,3]假设数组长度相同,是否有办法使用each或其他一些惯用方法从两个数组的每个元素中获取结果?不使用计数器?例如获取每个元素的乘积:[15,12,42,64,9](0..a.count-1).eachdo|i|太丑了...ruby1.9.3 最佳答案 使用Array.zip怎么样?:>>a=[3,4,7,8,3]=>[3,4,7,8,3]>>b=[5,3,6,8,3]=>[5,3,6,8,3]>>c=[]=>[]>>a.zip(b)do|i,j|c[[3,5],[4,3],[7,6],

  6. ruby-on-rails - 如何让 Rails View 返回其关联的操作名称? - 2

    我有一个非常简单的Controller来管理我的Rails应用程序中的静态页面:classPagesController我怎样才能让View模板返回它自己的名字,这样我就可以做这样的事情:#pricing.html.erb#-->"Pricing"感谢您的帮助。 最佳答案 4.3RoutingParametersTheparamshashwillalwayscontainthe:controllerand:actionkeys,butyoushouldusethemethodscontroller_nameandaction_nam

  7. Postman测试简单操作 - 2

    1、接口请求基本操作1.1例子tips在view的选项可以zoomin调整窗口字帖大小。1、创建一个测试的workspace,并命名为test2、test后面新增一个addrequest3、选择发送GET,URL为一个开源的https://api.apiopen.top/api/sentences获取每日一句4、点击send查看内容Tips:如果提示出现Error:tunnelingsocketcouldnotbeestablished,statusCode=407错误,参照以下解决办法)关于tunnelingsocketcouldnotbeestablished,cause=getaddri

  8. 【Linux操作系统】——网络配置与SSH远程 - 2

    Linux操作系统——网络配置与SSH远程安装完VMware与系统后,需要进行网络配置。第一个目标为进行SSH连接,可以从本机到VMware进行文件传送,首先需要进行网络配置。1.下载远程软件首先需要先下载安装一款远程软件:FinalShell或者xhell7FinalShellxhell7FinalShell下载:Windows下载http://www.hostbuf.com/downloads/finalshell_install.exemacOS下载http://www.hostbuf.com/downloads/finalshell_install.pkg2.配置CentOS网络安装好

  9. ruby - Ruby 语言可以用来构建操作系统吗? - 2

    Ruby语言是否可以用于创建全新的移动操作系统或桌面操作系统,即是否可以用于系统编程? 最佳答案 嗯,现在有一些操作系统使用比C更高级的语言。基本上,ruby解释器本身需要用一些低级的东西来编写,并且需要一些引导加载代码将功能齐全的ruby​​解释器作为独立内核加载到内存中。一旦ruby​​解释器被引导并以内核模式(或innerrings之一)运行,就没有什么可以阻止您在其上构建整个操作系统。不幸的是,它可能会很慢。每个操作系统功能的垃圾收集可能会相当引人注目。ruby解释器将负责任务调度和网络堆栈等基本事情,使用垃圾收集框架会大大

  10. ruby-on-rails - JSON 对象操作 - 2

    假设我们有以下描述一个人的JSON对象:{"firstName":"John","lastName":"Smith","age":25,"address":{"streetAddress":"212ndStreet","city":"NewYork","state":"NY","postalCode":"10021"},"phoneNumber":[{"type":"home","number":"212555-1234"},{"type":"fax","number":"646555-4567"}]有人可以建议在Rails3中操作前一个对象的最优雅和最有效的方法吗?我希望能够:添加另

随机推荐