mrferos/webhdfs

WebHDFS implementation in PHP

dev-master 2014-10-30 23:37 UTC

This package is auto-updated.

Last update: 2024-12-06 10:07:09 UTC


README

Description

php-WebHDFS is a PHP client for WebHDFS.

Dependencies

Todo

  • Write unit tests
  • Consider swapping out the original Curl class for Guzzle

Usage

File and Directory Operations

Create and Write to a File

hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username');
$hdfs->create('user/hadoop-username/new-file.txt', 'local-file.txt');

Append to a File

$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username');
$hdfs->append('user/hadoop-username/file-to-append-to.txt', 'local-file.txt');

Concat File(s)

$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username');
$hdfs->concat('user/hadoop-username/concatenated-file.txt', '/test/file1,/test/file2,/test/file3');

Open and Read a File

$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username');
$response = $hdfs->open('user/hadoop-username/file.txt');

Make a Directory

$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username');
$hdfs->mkdirs('user/hadoop-username/new/directory/structure');

Create a Symbolic Link

$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username');
$hdfs->createSymLink('user/hadoop-username/file.txt', '/user/hadoop-username/symlink-to-file.txt');

Rename a File/Directory

$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username');
$hdfs->rename('user/hadoop-username/file.txt', '/user/hadoop-username/renamed-file.txt');

Delete a File/Directory

hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username');
$hdfs->delete('user/hadoop-username/file.txt');

Status of a File/Directory

$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username');
$response = $hdfs->getFileStatus('user/hadoop-username/file.txt');

List a Directory

$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username');
$response = $hdfs->listStatus('user/hadoop-username/');

Other File System Operations

Get Content Summary of a Directory

$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username');
$response = $hdfs->getContentSummary('user/hadoop-username/');

Get File Checksum

$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username');
$response = $hdfs->getFileChecksum('user/hadoop-username/file.txt');

Get Home Directory

$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username');
$response = $hdfs->getHomeDirectory();

Set Permission

$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username');
$hdfs->setPermission('user/hadoop-username/file.txt', '777');

Set Owner

$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username');
$hdfs->setOwner('user/hadoop-username/file.txt', 'other-user');

Set Replication Factor

$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username');
$hdfs->setReplication('user/hadoop-username/file.txt', '2');

Set Access or Modification Time

$hdfs = new WebHDFS\WebHDFS('mynamenode.hadoop.com', '50070', 'hadoop-username');
$response = $hdfs->setTimes('user/hadoop-username/file.txt');