从PHP访问Hadoop

时间:2012-05-23 10:44:28

标签: php hadoop thrift hdfs

我需要在Hadoop系统上从PHP访问HDFS,该系统在版本0.20.2 + 923.256 中使用 cloudera软件包

有一个运行的namenode的thrift服务器 一个用于工作跟踪器。我有以下访问hdfs的功能,但是 我得到一个未知的方法“ listStatus ”错误。 HUE接口也使用thrift服务器来访问HDFS和作业跟踪器。

您可以帮助我从PHP访问该HDFS吗?那个thrift使用另一个API吗? 我没有找到该API的任何规范。

$socket = new TSocket(IP,PORT);
$socket->setSendTimeout(10000);
$socket->setRecvTimeout(20000);
$transport = new TBufferedTransport($socket);
$protocol = new TBinaryProtocol($transport);

$client = new ThriftHadoopFileSystemClient($protocol);
$transport->open();
$pathname = new Pathname(array('pathname' => $file));
$result = $client->listStatus($pathname);
echo($result[0]->path);        
$transport->close();
return $result;

非常感谢!

1 个答案:

答案 0 :(得分:1)

你可以这个api,它很有帮助 https://github.com/simpleenergy/php-WebHDFS