pycurl实现hadoop的客户端功能.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
pycurl 实现 hadoop 的客户端功能 目前在测试一个 hadoop 的功能,需要频繁的和 hadoop 打交道。刚开始采用的 python 的 subprocess 模块来调用底层的 hadoop 提供的命令行工具实现的。一,hadoop 提供的命令行格式说明: hadoop fs [cmd] 具体的命令有: hadoop fs [-fs local | file system URI] [-conf configuration file] [-D property=value] [-ls path] [-lsr path] [-du path] [-dus path] [-mv src dst] [-cp src dst] [-rm [-skipTrash] src] [-rmr [-skipTrash] src] [-put localsrc ... dst] [-copyFromLocal localsrc ... dst] [-moveFromLocal localsrc ... dst] [-get [-ignoreCrc] [-crc] src localdst [-getmerge src localdst [addnl]] [-cat src] [-copyToLocal [-ignoreCrc] [-crc] src localdst] [-moveToLocal src localdst] [-mkdir path] [-report] [-setrep [-R] [-w] rep path/file] [-touchz path] [-test -[ezd] path] [-stat [format] path] [-tail [-f] path] [-text path] [-chmod [-R] MODE[,MODE]... | OCTALMODE PATH...] [-chown [-R] [OWNER][:[GROUP]] PATH...] [-chgrp [-R] GROUP PATH...] [-count[-q] path] [-help [cmd]] 从上面可以看出命令提供的功能还是挺强大的。包括了文件和对目录的各种操作。举个例子: 要列出 hadoop 的根目录下面的文件,具体命令如下: #hadoop fs -ls hdfs://12:50081/ drwx---r-x - test test 0 2013-03-08 11:20 /static drwx---r-x - test test 0 2013-02-19 15:40 /system drwxrwxrwx - test test 0 2013-01-22 18:42 /video 其他的命令功能就不一一介绍了,相信看帮组文档自己也可以看懂。 这样会有一个问题,每执行一个命令都会新生成一个 jvm,对运行命令的机器造成很大的负担,在命令多的情况下,查看 top 可以看到 java 的进程会跑到 99%,严重影响到的使用。于是有了下面的实现方法。 二,hadoop 提供的 web 方式 在网上查看官方的客户端 API,发现 hadoop 提供一个 web REST API,既采用curl 的方式可以轻松实现。 上面对使用方式进行充分的说明。 curl 的方式可以进行对 hadoop 中的文件和目录进行一些基本的操作。目前官网上提供的有 1,创建并写入文件 2,追加文件 3,打开并读入文件 4,创建目录 5,重命名文件或者目录 6,删除文件或者目录 7,列出文件或者目录状态 8,列出目录列表 下面提供一些具体的使用例子: a,列出目录的状态 #curl -i 12:50071/webhdfs/v1/?op=GETFILESTATUS HTTP/1.1 200 OK Content-Type: application/json Transfer-Encoding: chunked Server: Jetty(6.1.26) {FileStatus:{accessTime:0,blockSize:0,group:TEST,length:0,modificationTime:136 2812718704,owner:TEST,pathSuffix:,permission:705,replication:0,type:DIREC TORY}} b,重命名目录 #curl -i -X PUT 12:50071/webhdfs/v1/test?op=RENAMEdestination=/test1 HTTP/1.1 200 OK Content-Type: application/json Transfer-Encoding: ch

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档