mrferos / webhdfs
PHP的WebHDFS实现
dev-master
2014-10-30 23:37 UTC
Requires
- php: >=5.3.0
- ext-curl: *
This package is auto-updated.
Last update: 2024-09-06 09:37:31 UTC
README
描述
php-WebHDFS是WebHDFS的PHP客户端。
依赖关系
待办事项
- 编写单元测试
- 考虑用Guzzle替换原始的Curl类
使用方法
文件和目录操作
创建并写入文件
hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username'); $hdfs->create('user/hadoop-username/new-file.txt', 'local-file.txt');
向文件追加内容
$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username'); $hdfs->append('user/hadoop-username/file-to-append-to.txt', 'local-file.txt');
连接文件
$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username'); $hdfs->concat('user/hadoop-username/concatenated-file.txt', '/test/file1,/test/file2,/test/file3');
打开并读取文件
$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username'); $response = $hdfs->open('user/hadoop-username/file.txt');
创建目录
$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username'); $hdfs->mkdirs('user/hadoop-username/new/directory/structure');
创建符号链接
$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username'); $hdfs->createSymLink('user/hadoop-username/file.txt', '/user/hadoop-username/symlink-to-file.txt');
重命名文件/目录
$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username'); $hdfs->rename('user/hadoop-username/file.txt', '/user/hadoop-username/renamed-file.txt');
删除文件/目录
hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username'); $hdfs->delete('user/hadoop-username/file.txt');
文件/目录状态
$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username'); $response = $hdfs->getFileStatus('user/hadoop-username/file.txt');
列出目录
$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username'); $response = $hdfs->listStatus('user/hadoop-username/');
其他文件系统操作
获取目录内容摘要
$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username'); $response = $hdfs->getContentSummary('user/hadoop-username/');
获取文件校验和
$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username'); $response = $hdfs->getFileChecksum('user/hadoop-username/file.txt');
获取主目录
$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username'); $response = $hdfs->getHomeDirectory();
设置权限
$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username'); $hdfs->setPermission('user/hadoop-username/file.txt', '777');
设置所有者
$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username'); $hdfs->setOwner('user/hadoop-username/file.txt', 'other-user');
设置副本因子
$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username'); $hdfs->setReplication('user/hadoop-username/file.txt', '2');
设置访问或修改时间
$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username'); $response = $hdfs->setTimes('user/hadoop-username/file.txt');