PHP 使用擴展 phdfs 操做 HDFS存儲的文件

phdfs擴展下載地址: http://pecl.php.net/get/phdfs-0.1.2.tgzphp

解釋下Linux命令:vim

./configure           #腳本配置工具app

./configure --help       #查看腳本配置工具configure的命令行選項工具

/usr/local/php/bin/phpize  #phpize命令用於在編譯好的PHP中擴展模塊oop

 

1. 下載你要安裝的軟件包,解壓獲得目錄(如:phdfs) spa

2. 進入軟件包目錄(cd phdfs) .net

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

成功後,當前目錄將獲得configure文件。   debug

4. 進行配置(./configure --with-php-config=/usr/local/php/bin/php-config #指定安裝在哪一個PHP)      ip

注:若是系統缺乏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文件系統。示例:

<?php
    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

相關文章
相關標籤/搜索