php 连接hadoop hdfs,PHP 使用扩展 phdfs 操作 HDFS存储的文件

phdfs扩展下载地址: http://pecl.php.net/get/phdfs-0.1.2.tgz

解释下Linux命令:

./configure           #脚本配置工具

./configure --help       #查看脚本配置工具configure的命令行选项

/usr/local/php/bin/phpize  #phpize命令用于在编译好的PHP中扩展模块

1. 下载你要安装的软件包,解压得到目录(如:phdfs)

2. 进入软件包目录(cd phdfs)

3. 执行phpsize命令(/usr/local/php/bin/phpize)

成功后,当前目录将得到configure文件。

4. 进行配置(./configure --with-php-config=/usr/local/php/bin/php-config #指定安装在哪个PHP)

注:如果系统缺少phpize命令,且你使用的是预编译的RPM包,那么一定要安装适当的PHP开发版本,因为它们一般都包含phpize命令连同合适的头文件来编译PHP及其扩展。

5. 编译安装

make&make install

6. 安装成功出现如下提示:

扩展存放位置:

7. 修改PHP配置文件(vim /usr/local/php/etc/php.ini)

加入: extension = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/phdfs.so";

或直接: extension = "phdfs.so";(注意前面不要加分号,如果已有extension_dir, 则不需要再写)

phdfs是一个采用C语言的实现的PHP扩展,能够使用PHP来操作Hadoop HDFS文件系统。示例:

try {

$obj = new phdfs();

$obj->port = "9000";

$obj->ip = "127.0.0.1";

$obj->connect();

//create file

$log = $obj->write("/a/b/c/test1.txt","test",O_WRONLY|O_CREAT);

//appden file

$log = $obj->write("/a/b/c/test2.txt","test",O_WRONLY|O_APPEND);

var_dump($log);

echo $obj->rename("/a/b/c/test2.txt","/a/b/c/test3.txt");

}catch (Exception $ex) {

echo $ex->getMessage();

}

?>

简单API使用:

1.上传本地文件到HDFS

$obj.copyFromLocalFile(src, dst);

2.删除HDFS上的文件

$obj.delete(delpath, false);

3.查看某个HDFS文件是否存在

$obj.exists(findfile);

参考:http://www.oschina.net/p/phdfs

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值