php httpfs链接hdfs

一.代码(有bug)

GitHub - michaelbutler/php-WebHDFS: A PHP client for WebHDFS

二.调用代码

1.代码1.代码

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| require_once('../webhdfs/src/org/apache/hadoop/WebHDFS.php');require_once('../webhdfs/src/org/apache/hadoop/tools/Curl.php'); require_once('../webhdfs/src/org/apache/hadoop/WebHDFS/Exception.php'); $host = '192.168.168.126'; $hdfs = new org\apache\hadoop\WebHDFS( $host, '14000', 'hdfs', 'Master00', '9000', false); echo $hdfs->getHomeDirectory(); //echo "<br>";查看目录状态$response = $hdfs->listDirectories('/user/hdfs/');//上传$response = $hdfs->create('/user/hdfs/ls/composer.json','./webfs.txt'); //默认覆盖查看文件内容$response = $hdfs->open('/user/hdfs/ls/composer.json');echo "<br>";var_dump($response); |

GitHub - michaelbutler/php-WebHDFS: A PHP client for WebHDFS

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| <?php //luozhen@antiy.cn require_once('../webhdfs/src/org/apache/hadoop/WebHDFS.php'); require_once('../webhdfs/src/org/apache/hadoop/tools/Curl.php'); require_once('../webhdfs/src/org/apache/hadoop/WebHDFS/Exception.php'); $host = '192.168.168.126'; $hdfs = new org\apache\hadoop\WebHDFS( $host, '14000', 'hdfs', 'Master00', '9000', false); echo $hdfs->getHomeDirectory(); ``查看目录状态 $response = $hdfs->listDirectories('/user/hdfs/'); //上传 $response = $hdfs->create('/user/hdfs/ls/composer.json','./webfs.txt'); //默认覆盖 查看文件内容 $response = $hdfs->open('/user/hdfs/ls/composer.json'); echo "<br>";var_dump($response); |

GitHub - michaelbutler/php-WebHDFS: A PHP client for WebHDFS

四.代码有bug。当上传文件时,这个代码有bug

解决方式,加头即可。

四.调用说明,来自README.md

文件和目录操作

创建和写入文件
复制代码
hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > create(' user / hadoop-username / new-file.txt ',' local-file.txt ');
直接创建内容并将其写入文件
复制代码
hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > createWithData(' user / hadoop-username / new-file.txt ',' content ');
附加到文件
复制代码
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > append(' user / hadoop-username / file-to-append-to.txt ',' local-file.txt ');
Concat文件
复制代码
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > concat(' user / hadoop-username / concatenated-file.txt ',' / test / file1,/ test / file2,/ test / file3 ');
打开并读取文件
复制代码
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ response  =  $ hdfs - > open(' user / hadoop-username / file.txt ');
制作目录
复制代码
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > mkdirs(' user / hadoop-username / new / directory / structure ');
创建符号链接
复制代码
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > createSymLink(' user / hadoop-username / file.txt ',' / user / hadoop-username / symlink - to -file.txt ');
重命名文件/目录
复制代码
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > rename(' user / hadoop-username / file.txt ',' / user / hadoop-username / renamed -file.txt ');
删除文件/目录
复制代码
hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > delete(' user / hadoop-username / file.txt ');
文件/目录的状态
复制代码
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ response  =  $ hdfs - > getFileStatus(' user / hadoop-username / file.txt ');
列出目录
复制代码
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ response  =  $ hdfs - > listStatus(' user / hadoop-username / ');

其他文件系统操作

获取目录的内容摘要
复制代码
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ response  =  $ hdfs - > getContentSummary(' user / hadoop-username / ');
获取文件校验和
复制代码
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ response  =  $ hdfs - > getFileChecksum(' user / hadoop-username / file.txt ');
获取主目录
复制代码
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ response  =  $ hdfs - > getHomeDirectory();
设置权限
复制代码
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > setPermission(' user / hadoop-username / file.txt ',' 777 ');
设置所有者
复制代码
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > setOwner(' user / hadoop-username / file.txt ',' other-user ');
设置复制因子
复制代码
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ hdfs - > setReplication(' user / hadoop-username / file.txt ',' 2 ');
设置访问或修改时间
复制代码
$ hdfs  =  new  WebHDFS(' mynamenode.hadoop.com ',' 50070 ',' hadoop-username '); 
$ response  =  $ hdfs - > setTimes(' user / hadoop-username / file.txt ');
相关推荐
身如柳絮随风扬12 分钟前
Lambda、方法引用与Stream流完全指南
java·开发语言
jinanwuhuaguo1 小时前
人工智能的进化阶梯:AI、ANI、AGI与ASI的核心区别与深度剖析
开发语言·人工智能·agi·openclaw
清空mega1 小时前
C++中关于数学的一些语法回忆(2)
开发语言·c++·算法
Mr_Xuhhh1 小时前
从理论到实践:深入理解算法的时间与空间复杂度
java·开发语言·算法
Lenyiin1 小时前
《Python 修炼全景指南:一》从环境搭建到第一个程序
开发语言·python
涛声依旧393162 小时前
Python项目实战:学生信息管理系统
开发语言·python·数据挖掘
企鹅的蚂蚁2 小时前
【ESP32-S3开发踩坑】C++野指针引发的LoadProhibited死机与CMake依赖锁死排查
开发语言·c++
kcuwu.2 小时前
Python进阶:生成器与协程,高效并发编程的核心实践
windows·python·php
XiaoQiao6669992 小时前
python 简单题目练手【详解版】【1】
开发语言·python
Kiling_07042 小时前
Java多态、final与抽象类:面向对象编程进阶指南
java·开发语言